home search a-z help
University of Cambridge Computer Laboratory
Thursday Mar 16th, 2006 - 4:30pm
Computer Laboratory > Research > Systems Research Group > NetOS > Seminars > Thursday Mar 16th, 2006 - 4:30pm

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.