Re: [Chicken-users] Redefinition of imported binding gets implicitly exported

2013-10-25 Thread Evan Hanson
Hi Andy, all. I looked into this recently since it also seemed like a bug to me, but the behavior seems to be intentional judging from the code. A workaround is to exclude `process` from the import list in `m` (as in `(import (except posix ...))`) -- this prevents the behavior you're seeing, at l

Re: [Chicken-users] Redefinition of imported binding gets implicitly exported

2013-10-25 Thread Andy Bennett
Hi, > I get the wrong binding for process when I (use m): > > - > #;1> (use m) > ; loading ./m.import.so ... > ; loading ./m.so ... > #;2> (process) > hello > - Of course... I was expecting the posix unit's binding for process: - #;1> (use posix) ; loading library posix ... #;2> pro

[Chicken-users] Redefinition of imported binding gets implicitly exported

2013-10-25 Thread Andy Bennett
Hi, With the following in m.scm: - (module m (do-something) (import chicken scheme) (use posix) (define process (make-parameter 'hello)) (define (do-something) (printf "Doing something...\n")) ) - ...and compiled thusly: csc -s -O2 -d1 m.scm -j m -o m.so csc -s m.import.scm