The Jekyll Translator


-- What is Jekyll --

Jekyll is a high level language that can be losslessly translated to and from readable, editable C.


-- Who is behind it --

Jekyll is the creation of Rob Ennals, at Intel Research.
He can be contacted at robert.ennals@intel.com, or rob@ennals.org.


-- How do I use it --

Type "jekyll --help", and all will be made clear.


-- How do I play with the example files --

Convert the Jekyll version of the GTK demo to C.

$ ./jekyll --jekyll2c examples/gtktest.jkl -o examples/gtktest.c `pkg-config --cflags gtk+-2.0`

Convert it back to Jekyll.

$ ./jekyll --c2jekyll examples/gtktest.c -o examples/gtktest2.jkl `pkg-config --cflags gtk+-2.0

Verify that the files are identical

$ diff examples/gtktest.jkl examples/gtktest2.jk

Do the same for the Haskell prelude demo:

$ ./jekyll --jekyll2c examples/prelude.jkl -o examples/prelude2.c -I examples/
$ ./jekyll --c2jekyll examples/prelude2.c -o examples/prelude2.jkl -I examples/
$ diff examples/prelude.jkl examples/prelude2.jkl


-- What can it do right now? --

What works:

* Lossless translation
* Macro typing
* Handling of almost all C programs
* Tagged union types
* Lambda expressions

What doesn't work yet:

* Extended safety checking
* Concurrency features


-- Where can I find out more information --

Go to the Jekyll homepage at sourceforge.net:

http://jekyllc.sourceforge.net/


Or the Jekyll developer info at:

https://sourceforge.net/projects/jekyllc/



-- Building Instructions --

To build, just type "make".

You need to have OCaml 3.08 or later installed.


Build should work on all platforms for which OCaml is supported.


