gulcii: graphical untyped lambda calculus interactive interpreter

[ compilers-interpreters, gpl, program ] [ Propose Tags ]

GULCII is an untyped lambda calculus interpreter supporting interactive modification of a running program with graphical display of graph reduction.

There are three variants of lambda abstraction: lazy, strict, and copy:

> x . f x x -- x is evaluated lazily with sharing > x ! f x x -- x is evaluated strictly and shared > x ? f x x -- x is copied before any evaluation

There is additional syntax sugar for natural numbers and lists, using http://en.wikipedia.org/wiki/Mogensen%E2%80%93Scott_encoding#Scott_encoding:

> [0,1,2,3]

There is a small standard library based loosely around the Haskell Prelude, with additions geared towards MIDI generation for live-coding music, implemented using a mechanism similar to Debug.Trace.trace:

> x y . { print : x } y

Quick start:

gulcii
:load mars.gu
main
:quit

If you have Pure-data and Timidity, try:

timidity -iA -Oj &
pd -alsamidi ~/.cabal/share/gulcii-0.2.0.1/extra/fudi2midi.pd &
gulcii | pdsend 8765

See also: live-sequencer which has many more features (but no sharing during evaluation).

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.2.0.1, 0.2.0.3, 0.3
Dependencies base (>=3 && <6), cairo (>=0.11 && <0.13), containers (>=0.3 && <0.6), filepath (>=1.1 && <1.4), gtk (>=0.11 && <0.13) [details]
License GPL-2.0-only
Author Claude Heiland-Allen
Maintainer claude@mathr.co.uk
Category Sound, Music, GUI
Home page http://gitorious.org/maximus/gulcii
Source repo head: git clone git://gitorious.org/maximus/gulcii.git
this: git clone git://gitorious.org/maximus/gulcii.git(tag 0.2.0.1)
Uploaded by ClaudeHeilandAllen at 2013-05-18T20:42:54Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Executables gulcii
Downloads 2687 total (16 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
Successful builds reported [all 8 reports]