The gulcii package

[Tags: gpl, program]

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
 main
 :quit

If you have Pure-data and Timidity, try:

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

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

Properties

Versions0.2.0.1, 0.2.0.3
Change logNone available
Dependenciesbase (>=3 && <6), cairo (>=0.11 && <0.14), containers (>=0.3 && <0.6), filepath (>=1.1 && <1.4), gtk (>=0.11 && <0.14) [details]
LicenseGPL-2
AuthorClaude Heiland-Allen
Maintainerclaude@mathr.co.uk
CategorySound, Music, GUI
Home pagehttp://code.mathr.co.uk/gulcii
Source repositoryhead: git clone http://code.mathr.co.uk/gulcii.git
this: git clone http://code.mathr.co.uk/gulcii.git(tag v0.2.0.3)
Executablesgulcii
UploadedMon Mar 9 15:51:57 UTC 2015 by ClaudeHeilandAllen
DistributionsNixOS:0.2.0.3
Downloads309 total (19 in last 30 days)
Votes
0 []
StatusDocs not available [build log]
Last success reported on 2015-05-19 [all 1 reports]

Downloads

Maintainers' corner

For package maintainers and hackage trustees