[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: LilyPond boolean syntax? \true and \false
From: |
Thomas Morley |
Subject: |
Re: LilyPond boolean syntax? \true and \false |
Date: |
Tue, 5 Jan 2016 18:44:58 +0100 |
2016-01-05 17:48 GMT+01:00 Paul Morris <address@hidden>:
> Thanks to David Kastrup’s work there’s now much less need to use scheme
> syntax in overrides etc. (e.g. the dot syntax instead of #' and no longer
> needing # for numbers). This has really simplified things for users.
>
> As another small step along these lines, would it make sense to free booleans
> from the ##t and ##f syntax? Compare:
>
> \override Context.Grob.property = ##t
>
> \override Context.Grob.property = ##f
>
> \override Context.Grob.property = \true
>
> \override Context.Grob.property = \false
>
> Providing \true and \false would (1) allow users to stay in familiar LilyPond
> syntax (avoiding the awkward double ## that’s unintuitive to new users) and
> (2) improve readability by using the whole word. (I for one find it hard to
> quickly see the difference between ##f and ##t at a glance.)
>
> Implementation would be trivial, of course:
>
> true = ##t
> false = ##f
>
> Thoughts?
> -Paul
>
> P.S. Guile 2.0 introduces #true and #false as alternatives to #t and #f per
> R7RS, presumably for better readability:
> https://www.gnu.org/software/guile/manual/html_node/Booleans.html
Why not?
But speaking only for myself, I love those #t and #f, short and clear.
Also, I never use the form `end-of-line-invisible', etc for
break-visibility, I simply can't memorize what it means.
The vector-form #(#f #t #t) is so obvious...
Cheers,
Harm