lilypond-devel
[Top][All Lists]
Advanced

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

Re: major feature request (tablature)


From: Maximilian Albert
Subject: Re: major feature request (tablature)
Date: Wed, 10 Dec 2008 12:58:01 +0100

2008/12/10 Werner LEMBERG <address@hidden>:
>> > Since you put 'scheme' in single quotes, I suspect you don't know
>> > about Scheme programming.  Scheme is a Lisp-like programming
>> > language.
>>
>> ((((()()((()))()()((())))))))
>>
>> I hope not, that kinda stuff leaves me with a headache, thank the
>> gods for programming editors with () balancing.
>
> Much more important is proper indenting.

Very true. Also, Scheme code is _not_ read by looking at the
parentheses. Instead, you read it by looking at the indention (which
tells you at which 'level' of the code you are). You'll realize that
pretty soon you entirely forget about the parentheses.

> Scheme's parentheses are
> rather easy to handle if you write code like this during development:
>
>  (foo
>    (bla
>     ...
>     bla
>    )
>  )
>
> and fold it later to
>
>  (foo
>    (bla
>     ...
>     bla))

In fact, I personally find it just as easy to write/read the latter
form directly, again because it is the _indentation_ which tells me
how a particular piece of code is related to the rest.

BTW, you can quickly become addicted to the way you start thinking
when programming in Scheme. It's offers you a wholly new paradigm
which breaks down a couple of walls you have built yourself up by
programming in other languages. I highly recommend giving it a try
(especially if you're an experienced programmer). There are excellent
tutorials and books out there (although unfortunately I don't have any
web addresses at hand). Coming from the Lisp side, I can highly
recommend Paul Graham's books "ANSI Common Lisp" and "On Lisp" which
IMHO are fluent to read and didactically excellent. But as I said,
there are plentiful other resources. Also, keep in mind that Scheme is
only a Lisp dialect which means that a couple of things behave
differently, so in your case it's probably good to dive into Scheme
directly.

Good luck and especially: have fun!
Max




reply via email to

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