Ecce

Ave! Ecce is the Epigram Core Context Editor, a direct low-level interface to the state of the Epigram 2 elaborator. This may be of interest to some intrepid folk, especially as we haven’t got a high-level interface yet. The idea is to make the Epigram context explorable and to give Epigram’s internal construction tactics a human interface, in order to support experimentation and debugging. The plan is that we can implement functionality at the Ecce level, then wire it up to language features. Cave! Ecce is highly experimental and in a state of flux. I aim to keep this page up to date with what the thing actually does, warts and all: what it did and what it should do are not necessarily a great help. The ride is likely to be bumpy.

Getting Ecce

Ecce is part of Epigram 2, so it lives in the darcs repository here. By and large, make does the right sort of thing. If you run the resulting executable, which might be dist/build/epigram, you’ll get


---------------------------------------------------------
|-
---------------------------------------------------------
[Ecce]

being the display of an empty context athwart the turnstile-shaped cursor (as if to say ‘the empty context justifies the empty context extension’), followed by the Ecce prompt.

Doing Stuff

Ecce accepts sequences of command followed by a blank line, so if you expect anything to happen, press return twice. You’ll still be lucky… The most important command is the highly perspicuous


[Ecce] {}
[Ecce]

which means ‘quit’. I expect this will change. I’ve just discovered that Ctrl-D also works, which is a pleasant surprise. So that’s how to do nothing, if you want to do anything, see below.

Topics

Leave a Reply