FunCon4j: Executable Funcons through Object Algebras
This repo is an artifact of my thesis on creating reusable language implementations. FunCon4J is a library of FunCons build with the Object Algebra design pattern. On basis of FunCon4J extensible and reusable programming languages can be defined. To showcase this the entire dynamic semantics of Caml Light is implemented on FunCon4J.
How to build
Import the project through maven
How to use
camllight.CamlLighthow to run Caml Light programs (albeit with somewhat different syntax, and brackets to force correct precedence)
camllight.parser.CLPgenhow to generate a parser for Caml Light
camllightnocollections.CamlLightNoCollectionsdemonstrates a language variant of Caml Light with no collections.
camllightnorecursion.CamlLightNoRecursiondemonstrates a language variant of Caml Light with no recursion.
camllightnosideeffects.CamlLightNoSideEffectsdemonstrates a language variant of Caml Light with no side effects.