[Haskell-cafe] ANNOUNCE: LambdaINet-0.1.0, Graphical Interaction Net Evaluator for Optimal Evaluation

Paul L ninegua at gmail.com
Mon Sep 14 01:36:00 EDT 2009

It's available on Hackage DB at http://hackage.haskell.org/package/LambdaINet

Thanks to Kim-Ee Yeoh for pushing me into releasing this piece of code
I wrote two years ago. I'll just quote the README from the source
tarball below.


LambdaINet implements an interaction net based optimal evaluator
following Lambdascope [1], with an interactive graphical interface
allowing user to view and directly manipulate interaction net.

[1] Vincent van Oostrom, Kees-Jan van de Looij, Marijn Zwitserlood,
Lambdascope, Workshop on Algebra and Logic on Programming Systems
(ALPS), Kyoto, April 10th 2004


After "cabal install", just type "LambdaINet" to start the
application.  Once it starts, press H for help, and ESC to quit. To
understand all the operations in detail, you'll have to read the above
mentioned paper by Oostrom et. al.

Currently there is no way to load input programs except modifying the
source, Try src/Main.lhs if you want to change the start-up program,
or any of the 1..9 preset programs.

At this moment, the object language supports lambda expression with
recursion, tuples, and primitives such as numbers, strings and


The bulk of code was put together in two weeks when I was working on
the leak problem for FRP in 2007. So it was really a rushed job with
no guarantee of correctness, although I tried to stay faithful to the
original paper as much as I could.

I only did some moderate clean-ups before releasing this application
to public, and the code itself was sparingly documented when it was
originally written. Some parts are probably still buggy, like the
translation from net to term; other parts could use more improvements,
like the node positioning and line layout algorithm. But I decide to
release it anyway -- maybe some people some where will find it useful.


Please forward bug reports or feedbacks to me (Paul Liu at paul at
thev dot net), but don't hold your hope high on timely bug fixes.

Help is also needed to develop LambdaINet further, for example, it
really needs a way to read lambda expressions from a separate file or
standard input, which should be a simple feature to add, but alas! I
don't have the time in the nearest future to do this kind of things

Paul Liu

Yale Haskell Group

More information about the Haskell-Cafe mailing list