Hello! Guile-Lib’s md5.scm does something like:
--8<---------------cut here---------------start------------->8--- (define f-ash ash) (define (ash x n) (modulo (f-ash x n) #x100000000)) --8<---------------cut here---------------end--------------->8--- At -O0 and -O1, this has the desired effect: ‘f-ash’ is an alias for (@ (guile) ash). However, at -O2 and above, ‘f-ash’ is eq? to the ‘ash’ defined right below it. This seems to contradict R5RS (info "(r5rs) Top level definitions"). Thoughts? Ludo’.