CPSC 511:
LiLa implementations in Java
Some feedback provided suggests
that seeing examples of how our different LiLa's could be implemented
in a more traditional language (i.e. not Scheme or another functional
language) might be interesting and helpful.
I started porting the Scheme implementations into Java. This is an
ongoing effort I will probably not port all of the LiLa implementations
nor even completely port all of particular LiLa implementation if I do
port it. As I go through this I will post stuff on this webpage.
- ProcLiLa.zip: This
is a snapshot of my Eclipse project containing a partial (but working)
port of the first ProcLiLa interpreter (the one without coninuations).
Import the contents of this archive into your Eclipse workspace and
then select the project and "run as JUnit test" to run all the tests.
- ProcLiLa_CPS.zip:
This
is a snapshot of my Eclipse project containing a partial (but working)
port of the first ProcLiLa interpreter with
continuations. This is a fairly straightforward port of the
Scheme version, so it uses tailrecursion in Java. Unfortunately, Java
is not properly tail recursive so this interpreter will run out of
stack
space if your ProcLiLa program is long running.
- ProcLiLa_Trampolined.zip:
Adaptation of ProcLiLa_CPS with "trampolining"
to avoid unbounded Java stack growth that occurs in the simpler
ProcLiLa_CPS.