[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: LilyPond boolean syntax? \true and \false
From: |
Abraham Lee |
Subject: |
Re: LilyPond boolean syntax? \true and \false |
Date: |
Tue, 5 Jan 2016 10:06:36 -0700 |
On Tuesday, January 5, 2016, Paul Morris <address@hidden> wrote:
> 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
>
+1
I love this idea. I remember my own confusion with this when I was getting
my feet wet. Seems like a logical (pun intended) addition.
- Abraham