Content deleted Content added
Add one more category |
Importing Wikidata short description: "Programming language" |
||
(10 intermediate revisions by 4 users not shown) | |||
Line 1:
{{Short description|Programming language}}
{{Infobox programming language
|name = Futhark
|paradigm = [[
|family = [[ML (programming language)|ML]]
|designer = Troels Henriksen, Cosmin Oancea, Martin Elsman
|developer = [[University of Copenhagen]]<ref>{{Cite web |title=License |url=https://futhark-lang.org/license.html |access-date=2023-03-26 |website=futhark-lang.org |quote=Developed at [[
|released = {{Start date and age|2014}}
|latest release version =
|latest release date =
|typing = [[
|implementations =
|dialects =
|
|influenced =
|
|license = [[ISC license|ISC]]
|website =
}}
'''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]].
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 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|uniqueness types]] 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 42 ⟶ 43:
=== Matrix multiplication ===
The following program performs [[matrix multiplication]], using the definition of dot product above.
Line 53:
</syntaxhighlight>
== References ==
{{Reflist}}<!--
{{ML programming}}
{{Parallel computing}}
[[Category:Programming languages]]▼
[[Category:High-level 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:
[[Category:Free and open source compilers]]
[[Category:2014 software]]
[[Category:Programming languages created in 2014]]
[[Category:Software using the ISC license]]
|