Eff (programming language)
Appearance
From Wikipedia, the free encyclopedia
Functional programming language
This article has multiple issues. Please help improve it or discuss these issues on the talk page . (Learn how and when to remove these messages)
(Learn how and when to remove this message)This article needs additional citations for verification . Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Eff" programming language – news · newspapers · books · scholar · JSTOR (November 2019) (Learn how and when to remove this message)
Find sources: "Eff" programming language – news · newspapers · books · scholar · JSTOR (November 2019) (Learn how and when to remove this message)
This article relies excessively on references to primary sources . Please improve this article by adding secondary or tertiary sources.
Find sources: "Eff" programming language – news · newspapers · books · scholar · JSTOR (November 2019) (Learn how and when to remove this message)
Find sources: "Eff" programming language – news · newspapers · books · scholar · JSTOR (November 2019) (Learn how and when to remove this message)
| Eff | |
|---|---|
| Paradigms | Multi-paradigm: functional, imperative |
| Family | ML: Caml: OCaml |
| Designed by | Andrej Bauer, Matija Pretnar |
| First appeared | March 5, 2012; 13 years ago (2012年03月05日) |
| Stable release | 5.1
/ October 19, 2021; 4 years ago (2021年10月19日) |
| Implementation language | OCaml |
| Platform | x86-64 |
| OS | Cross-platform: macOS, Linux, Windows |
| License | BSD 2-clause |
| Website | www |
| Influenced by | |
| OCaml | |
Eff is a general-purpose, high-level, multi-paradigm, functional programming language similar in syntax to OCaml which integrates the functions of algebraic effect handlers.[1] [2]
Example
[edit ]effect Get_next : (unit -> unit) option effect Add_to_queue : (unit -> unit) -> unit let queue initial = handler | effect Get_next k -> ( fun queue -> match queue with | [] -> (continue k None) [] | hd::tl -> (continue k (Some hd)) tl ) | effect (Add_to_queue y) k -> ( fun queue -> (continue k ()) (queue @ [y])) | x -> ( fun _ -> x) | finally x -> x initial ;;
References
[edit ]- ^ "Eff Programming Language". Eff-lang.org. Retrieved 2019年11月18日.
- ^ Bauer, Andrej; Pretnar, Matija (March 2012). Programming with Algebraic Effects and Handlers (PDF) (Report). Department of Mathematics and Physics, University of Ljubljana, Slovenia.
External links
[edit ]
Stub icon
This programming-language-related article is a stub. You can help Wikipedia by expanding it.