Dr Jekyll and Mr C
Robert Ennals
Jekyll is a high level systems programming language that can be losslessly
translated to and from readable editable C. By this we mean that if one
translates a C file to Jekyll and then back again, the result is guaranteed to
be bit-for-bit identical to the original C file. More generally, changes to
the C or Jekyll version of a file will result in minimal changes to the other
version.
By being inter-convertible with C, Jekyll avoids many of the switching costs
that usually arise when moving a software project to a new language. If a
programmer or tool does not understand Jekyll, then they can simply work on
the C version. Similarly, if the Jekyll translator ceases to be maintained,
then developers can just fall back to the C code.
Jekyll enhances C with many high-level features found in languages such as
O'Caml and Haskell, making it easier to write code that is safe,
compehensible, and analysable. Amongst other features, Jekyll has type-safety,
generic types, type-classes, and lambda expressions -- all of which translate
to and from elegant C.
Jekyll is available now from sourceforge at http://jekyllc.sf.net, and there
will be a demo during the talk.
|