Re: Anything better for delayed lexical evaluation than (lambda () ...)?

2011-12-12 Thread Mark H Weaver
David Kastrup writes: >> In general, the _right_ way to build a custom extension language using >> Guile 2 is to write a compiler that converts your language into one of >> the other languages that Guile 2 supports. > > Lilypond is not Scheme. It has syntax ambiguities that are resolved by > lexi

Re: Anything better for delayed lexical evaluation than (lambda () ...)?

2011-12-12 Thread David Kastrup
Mark H Weaver writes: > David Kastrup writes: >>> In general, the _right_ way to build a custom extension language using >>> Guile 2 is to write a compiler that converts your language into one of >>> the other languages that Guile 2 supports. >> >> Lilypond is not Scheme. It has syntax ambiguit

Re: Anything better for delayed lexical evaluation than (lambda () ...)?

2011-12-12 Thread rixed
> > and that other programs that use Guile for extension will run into > > similar difficulties, but as far as I can tell Lilypond is quite > > unique here. > > Because nobody else uses Guile for serious extensions. And not because > of its performance: that is _irrelevant_ for most extension pur

Re: Anything better for delayed lexical evaluation than (lambda () ...)?

2011-12-12 Thread David Kastrup
ri...@happyleptic.org writes: >> > and that other programs that use Guile for extension will run into >> > similar difficulties, but as far as I can tell Lilypond is quite >> > unique here. >> >> Because nobody else uses Guile for serious extensions. And not because >> of its performance: that i

Re: Anything better for delayed lexical evaluation than (lambda () ...)?

2011-12-12 Thread Mark H Weaver
David Kastrup writes: > Very funny. If x is not an integer, it is put into the music argument > instead, and the next "argument" is not an argument but independent > code. Ah, okay. In that case, the design of the Lilypond language does indeed make compilation (or even parsing) before execution

Re: Anything better for delayed lexical evaluation than (lambda () ...)?

2011-12-12 Thread Andy Wingo
On Mon 12 Dec 2011 19:29, Mark H Weaver writes: > You are using Guile in a very unusual way. You have constructed a > hybrid language of both Scheme and Lilypond, where each can be nested > within the other (so far so good), but -- and here's the kicker -- you > apparently want to implement this

Re: Anything better for delayed lexical evaluation than (lambda () ...)?

2011-12-12 Thread Mark H Weaver
David Kastrup writes: >> Be confident that I'm ashamed by my ignorance but I do not know how >> exactly Lilypond uses Guile (nor what Lilypond exactly does), but your >> description of it does sound like it's the only way to "extend" a >> program. > > Not at all. But when we are talking about an

Compiler Branch

2011-12-12 Thread Noah Lavine
Hello Guile developers, Following up on my last email, I am nervously announcing a new branch, 'wip-compiler'. I hope that in a few months this branch will contain a working compiler. For now, it contains a few new data structures and a function that converts Tree-IL to a form that will be nicer f