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)
|
| Eff | |
|---|---|
| Paradigms | Multi-paradigm: functional, imperative |
| Family | ML: Caml: OCaml |
| Designed by | Andrej Bauer, Matija Pretnar |
| First appeared | March 5, 2012 |
| Stable release | 5.1 / October 19, 2021 |
| 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]
effectGet_next:(unit->unit)optioneffectAdd_to_queue:(unit->unit)->unitletqueueinitial=handler|effectGet_nextk->(funqueue->matchqueuewith|[]->(continuekNone)[]|hd::tl->(continuek(Somehd))tl)|effect(Add_to_queuey)k->(funqueue->(continuek())(queue@[y]))|x->(fun_->x)|finallyx->xinitial;;