CCing to the list.

Am 25.06.2018 um 21:47 schrieb Freeman Gilmore:


On Mon, Jun 25, 2018 at 9:29 AM, Urs Liska <li...@openlilylib.org <mailto:li...@openlilylib.org>> wrote:

    Hi Freeman,


    Am 25.06.2018 um 15:03 schrieb Freeman Gilmore:
    ​Can scheme alone be used in Frescobaldi (or scheme sandbox)?


    It's not clear to me what you want ot achieve.

    The Scheme sandbox is surely not available in Frescobaldi.

    You can of course write LilyPond files that exclusively contain
    Scheme code, and that code doesn't have to be related to scores.
    But at least the entry point must be LilyPond language.

    Try this file:

    \version "2.19.80"

    #(let
       ((something 'something-else))
       (display something)
       (newline)
       (display something)(display something))

    It will do in Scheme what you tell it, and from there you have
    access to anything you can do with Guile Scheme (and the LilyPond
    environment set up automatically).

    That will give you syntax highlighting and auto-indentation from
    Frescobaldi (much better than the Scheme sandbox) but no immediate
    expression evaluation.

    HTH
    Urs

     thank you,
    ƒg

​
Thanks Urs:

That worked.   Problem was that I did not know that the results would be displayed in the log window.   The tutorial I am using had some example like  (+ 1 2 3) =>  and I was expecting 6 in the same window on the next line when I compiled.

This is what one refers to as a REPL (read-eval-print-loop), which is what LilyPond's Scheme sandbox does.

This may be what you mean by " but no immediate expression evaluation".

Yes. Frescobaldi deals with LilyPond *files*, not an immediate expression evaluation.

Is => valid in guile?

No.

 How would I display the results of (+ 1 2 3), at this point of the tutorial it just says  "(+ 1 2 3) =>   6"?

When a tutorial writes "=>" it means: "You type in '(+ 1 2 3)', and the REPL will display '6'. So "=>" isn't a syntactical construct but a typographical convention for "the expression to the left evaluates to the datum on the right".

Tutorials usually want you to learn from this immediate evaluation, and in Frescobaldi you have to always do that extra step to display something. But in general it's worth the effort, and I do that 90% of the time when I want to try something out or learn more about Scheme.

For displaying values you can use #(display) or #(ly:message "Some value: ~a" data) (to start with ...)

HTH
Urs


Thank you,
ƒg​


    ​​

    _______________________________________________
    lilypond-user mailing list
    lilypond-user@gnu.org <mailto:lilypond-user@gnu.org>
    https://lists.gnu.org/mailman/listinfo/lilypond-user
    <https://lists.gnu.org/mailman/listinfo/lilypond-user>


    _______________________________________________
    lilypond-user mailing list
    lilypond-user@gnu.org <mailto:lilypond-user@gnu.org>
    https://lists.gnu.org/mailman/listinfo/lilypond-user
    <https://lists.gnu.org/mailman/listinfo/lilypond-user>



_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to