← All repos

eff

A functional programming language based on algebraic effect handlers

Browse cluster: Haskell tooling and libraries
2,440commits
23contributors
10languages

Tech stack & purpose

Eff is a functional programming language based on algebraic effects and their handlers, designed to provide a pure functional setting with support for computational effects like state, I/O, and exceptions. The language uses OCaml syntax extended with constructs for effects and handlers, includes static typing with parametric polymorphism and type inference, and allows programmers to define new computational effects and combine existing ones. Eff is built with OCaml, Js_of_ocaml, Menhir, and OCamlFormat, and was created by Andrej Bauer and Matija Pretnar. The project includes editor support for Emacs and Textmate, a comprehensive test suite using cram tests, and examples derived from the authors' paper on algebraic effects and handlers.

Community & reference links

Languages

OCaml
69.5%
Raku
22.9%
PHP
6.2%
NASL
0.4%
MATLAB
0.3%
Emacs Lisp
0.2%
Shell
0.2%
Python
0.2%
Makefile
0.1%
Dune
0.1%

Contributors