On Wed, Nov 27, 2019 at 10:32 AM Anders Eriksson <lilyp...@andis59.se> wrote: > > > On 2019-11-27 14:20, Freeman Gilmore wrote: > > From Extending Lilypond: > > guile> (define a 3) > guile> (define b 5) > guile> (if (> a b) "a is greater than b" "a is not greater than b") > "a is not greater than b" > > Note missing ")". > > No, it's not missing any ")" > > In Frescobaldi i tried: > > \version "2.19.83" > #(define a 3) > #(define b 5) > #(display (if (> a b) "a is greater than b" "a is not greater than b") > "a is not greater than b")) > > > What is the code suppose to do? > You define two variables, a and b, and give them a value. > You then compare a and b and if a is greater than b then you write out a text > "a is greater than b" if not then you write out a different text "a is not > greater than b". > > Scheme is a Lisp based language and uses parentheses to group statements. > The number of left parentheses should be the same as the number of right > parentheses!!! > > Your problem is the line > > #(display (if (> a b) "a is greater than b" "a is not greater than b") > > It has 3 left parentheses and 2 right parentheses. > Frescobaldi is helpful and shows the matched parentheses when you put the > cursor on a a parentheses. > Using this help you soon will find the the first left parentheses has no > right parentheses. > > The error will disappear if you add a right parentheses last on the line > #(display (if (> a b) "a is greater than b" "a is not greater than b")) > > // Anders That got it, i was reading the book wrong; i was trying to include the results as one of the choices. I do not see the ")" in the book but it does copy and past it ok. Probably have the print to large. Al is well.
Thank you, fg