lilypond-user
[Top][All Lists]
Advanced

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

Re: Roadmap to lily code


From: Erik Sandberg
Subject: Re: Roadmap to lily code
Date: Tue, 6 Dec 2005 23:18:40 +0100
User-agent: KMail/1.8.3

On Tuesday 06 December 2005 20.49, dax2 wrote:
> On Tue, 6 Dec 2005 19:48:34 +0100
>
> Erik wrote:
> > On Monday 05 December 2005 18.17, Mehmet Okonsar wrote:
> > > Hello users and creators of the best music notation program in
> > > the world!
> > >
> > > What can you suggest for learning Scheme?
> > > A set of few links for getting from almost 0 up to Lilypond
> > > source. Recommended readings textbooks and on-line tutorials..
> > > Thanks
> >
> > You can check out schemers.org.
>
> I will not turn this into a discussion about Scheme (we could
> maybe find another list) but I think that some words are in place.
> I was interested in understanding why a programmer would choose
> Scheme (or Lisp) for a programming language and I found only half
> answers. You cannot make pointer-mistakes in Scheme, for example.
>
> I found that my RedHat has a nice scheme-interpreter, University
> of Massachusetts at Boston scheme, sounds nice. I tried to find
> out how a programmer would read a string and e.g. cut the first
> letter (character) and put it into a variable.

This is not a good example of what you use functional languages for. For tasks 
involving string handling, languages such as Perl, Python or sed are often 
used. (or, alternatively, a language which is relatively close to assembler, 
like C, will do if you're very concerned with speed).

Scheme can be a good choice if you want to solve algorithmic problems, or if 
you want to do nice things with functions.

I guess Guile was chosen partly because that Scheme implementation existed and 
integrated well with C++ and with lily's parser.

Here's a page which promotes lisp-like languages (it's funny reading, and it 
also explains some concepts)
http://www.paulgraham.com/icad.html

-- 
Erik




reply via email to

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