A good explanation of the difference between define and set! in Scheme here:
https://docs.scheme.org/schintro/schintro_16.html
Silvain

Le 22.08.24 à 11:10, Valentin Petzel a écrit :
Hi Michael,

the problematic line in question is

(#t (define *use-gamba-clefs* #t))

If you use set! instead of define it will work. The problem here lies probably
in the switch from guile 1.8 to guile 2. I suppose in that the context of case
changed somehow to not allow definitions.

Keep in mind that define is a bit special in LISP languages. LISP has a strong
functionals base, and that means that we are in a paradigm where e.g. results
should not depend on order of execution.

This requires that a value bound by define is immutable. So LISP languages tend
to be very restrictive of where you can put a define, and usually do not allow
defining a mapping already bound.


--
Silvain Dupertuis
Route de Lausanne 335
1293 Bellevue (Switzerland)
tél. +41-(0)22-774.20.67
portable +41-(0)79-604.87.52
web: silvain-dupertuis.org <https://perso.silvain-dupertuis.org>

Reply via email to