Content deleted Content added
Jerryobject (talk | contribs) Template:Infobox programming language, WP:REFerence WP:CITation: parameters: add, reorders, update-standardizes, conform to master templates. WP:LINKs: underscores > spaces, update-standardizes, needless: WP:PIPEs > WP:NOPIPEs, semi-WP:EASTEREGGs for WP:LEAST surprise, adds. MOS:FIRSTABBReviations clarify, define before WP:ABBRs in parentheses. WP:CATEGORYs add. |
Importing Wikidata short description: "Programming language" |
||
(8 intermediate revisions by 3 users not shown) | |||
Line 1:
{{Short description|Programming language}}
{{Infobox programming language
|name = Futhark
|paradigm = [[Array programming|
|family = [[ML (programming language)|ML]]
|designer = Troels Henriksen, Cosmin Oancea, Martin Elsman
Line 8 ⟶ 9:
|latest release version =
|latest release date =
|typing = [[Type inference|
|implementations =
|dialects =
|influenced by = [[APL (programming language)|APL]], [[Haskell]], [[NESL]], [[Standard ML]]
|influenced =
|
|license = [[ISC license|ISC]]
|website = {{URL|futhark-lang.org}}
}}
'''Futhark''' is a [[
== Overview ==
Futhark is a language in the [[ML (programming language)|ML]] family, with an indentation-insensitive syntax derived from [[OCaml]], [[Standard ML]], and [[Haskell]]. The [[type system]] is based on a [[
Futhark is named after [[Runes#Runic_alphabets|the first six letters of the Runic alphabet]].<ref>{{cite thesis |last=Troels |first=Henriksen |date=November 2017 |title=Design and Implementation of the Futhark Programming Language |url=https://futhark-lang.org/publications/troels-henriksen-phd-thesis.pdf |degree=PhD |publisher=University of Copenhagen |access-date=2024-05-25}}</ref>{{rp|2}}
▲Futhark is a language in the [[ML (programming language)|ML]] family, with an indentation-insensitive syntax derived from [[OCaml]], [[Standard ML]], and [[Haskell]]. The type system is based on [[Hindley-Milner]] with a variety of extensions, such as [[uniqueness type]]s and [[Dependent type|size-dependent types]]. Futhark is not intended as a [[general-purpose programming language]] for writing full applications, but is instead focused on writing computational "kernels" (not necessarily the same as a [[Compute kernel|GPU kernel]]) which are then invoked from applications written in conventional languages.<ref>{{cite web|url=https://futhark.readthedocs.io/en/latest/|title=Futhark User's Guide|website=futhark.readthedocs.io}}</ref>
== Examples ==
=== Dot product ===
The following program computes the [[dot product]] of two vectors containing double-precision numbers.
Line 43:
=== Matrix multiplication ===
The following program performs [[matrix multiplication]], using the definition of dot product above.
Line 54 ⟶ 53:
</syntaxhighlight>
== References ==
{{Reflist}}<!--
{{ML programming}}
{{Parallel computing}}
[[Category:Programming languages]]▼
[[Category:Functional languages]]
[[Category:Parallel computing]]
[[Category:Array programming languages]]
[[Category:Dependently typed languages]]
[[Category:Dependently typed programming]]
▲[[Category:Programming languages]]
[[Category:Statically typed programming languages]]
▲[[Category:Dependently typed languages]]
[[Category:ML programming language family]]
[[Category:Free
[[Category:2014 software]]
[[Category:Programming languages created in 2014]]
[[Category:Software using the ISC license]]
|