This article has multiple issues. Please helpimprove it or discuss these issues on thetalk page.(Learn how and when to remove these messages) (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 ageneral-purpose,high-level,multi-paradigm,functionalprogramming language similar insyntax toOCaml which integrates the functions ofalgebraic effect handlers.[1][2]
effect Get_next : (unit -> unit) optioneffect Add_to_queue : (unit -> unit) -> unitlet 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;;
Thisprogramming-language-related article is astub. You can help Wikipedia byexpanding it. |