​

On Mon, Jun 25, 2018 at 4:04 PM, Urs Liska <li...@openlilylib.org> wrote:

> 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> 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​
>
> ​Urs:

In you first example #(let...) what function does 'let' preform?    From
your examples in "​For displaying values you can use #(display) or
#(ly:message "Some value: ~a" data) (to start with ...)", could you please
give me examples of each?   I need this to study the tutorial using
Frescobaldi.

​Thank you,
ƒg​


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

Reply via email to