lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Appreciation / Financial support


From: David Kastrup
Subject: Re: Appreciation / Financial support
Date: Wed, 30 May 2012 11:10:19 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1.50 (gnu/linux)

"address@hidden" <address@hidden> writes:

> That said, people have been writing rather critical things of Scheme.
> I'll just say that I <3 Scheme!

One thing that it has going for it is that it is reasonably
well-delimited, so passing in and out of it using # is trivial (for a
suitable definition of trivial).  I've put in a lot of work si that
passing from Scheme into LilyPond with #{ ... #} becomes similarly easy
and powerful.

I intermittently work on lowering the barriers between the languages
more, to lessen the "_now_ that you stepped into Scheme, see how you
will ever get out again alive" effect.

I have mentioned that I like Lua as an extension language because of its
minimal set of data structures and programming concepts, meaning that it
is easy to match the application's way of talking to the data
manipulated in Lua.

And while Scheme does not offer the same minimalism concerning its data
and control structures, its _syntax_ footprint is so small that it
blends quite well into LilyPond at the input level.

C++ does not blend at all, and Python with its "indentation matters"
would be horrors on top of horrors.  Lua with "separate statements with
semicolon or newline or space, I don't care" is nicer, but it is
procedural, not functional, and thus the simple path from #1 to #(begin
...) is not there: you'd need to start with something like
#{ return 1 #} minimally and/or distinguish between statements and
expressions.

-- 
David Kastrup



reply via email to

[Prev in Thread] Current Thread [Next in Thread]