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]
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 ;;
This programming-language-related article is a stub. You can help Wikipedia by expanding it.