Egel – Graph Rewriting with a Twist

04/21/2020
by   M. C. A., et al.
0

Egel is an untyped eager combinator toy language. Its primary purpose is to showcase an abstract graph-rewriting semantics allowing a robust memory-safe construction in C++. Though graph rewriters are normally implemented by elaborate machines, this can mostly be avoided with a change in the representation of term graphs. With an informal inductive argument, that representation is shown to always form directed acyclic graphs. Moreover, this graph semantics can trivially be extended to allow exception handling and cheap concurrency. Egel, the interpreter, exploits this semantics with a straight-forward mapping from combinators to reference-counted C++ objects.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset