Hi! Mark H Weaver <m...@netris.org> skribis:
> For example, look at what Guile 1.8 does: > > guile> (let loop ((i 0)) > (define y "hello") > (display y) > (newline) > (string-set! y i #\a) > (loop (1+ i))) > hello > aello > aallo > aaalo > aaaao > aaaaa > <then an error> > > So you see, even in Guile 1.8, (define y "hello") didn't do what you > thought it did. It didn't fill y with the string "hello". You were > actually changing the program text itself, and that was a serious > mistake. Indeed, funny example! Ludo’.