forgot to include the list in the correspondence. This is the (happy) outcome...
---------- Forwarded message ---------- From: David Rush kumoyuki@gmail.com Date: 10 June 2012 15:44 Subject: Re: [gambit-list] Puzzlement (different behavior of compiled code) To: Mikael mikael.rcv@gmail.com
Ta much Mikael!
It turns out that the -:s flag to gsc is the culprit. I had been using that flag out of habit to get the syntax-case expander - apparently it also interferes with recognizing keywords. I think i need "-:S" instead, which i guess has been added since I last update my Gambit makefiles (don't ask - it's been a while)
thanks again
- d
On 10 June 2012 15:27, David Rush kumoyuki@gmail.com wrote:
On 10 June 2012 14:31, Mikael mikael.rcv@gmail.com wrote:
Uh this is funny:
(open-output-file '(|path:| "test.flog" |create:| maybe |append:| #t))
look there, there's |:s around the keywords. This means they're *not* actually keywords but *symbols* that kind of look like keywords.
That is interesting. I have no idea why, as I said it's the same code in both cases (code was included in the tail of the OP)
Tried to reproduce your error on 4.6.2:
$ cat a.scm (write (cons abcde: 123)) $ gsi a.scm (abcde: . 123)$ gsc -exe a.scm $ ./a (abcde: . 123)
I wonder if mine is a case that occurs because the code renames cons (in an attempt to avoid variable capture while expanding macros) so that instead of cons the var referenced is actually _cons_23 - leading to compiler confusion about special cases.
Do you compile this code just with gsc filename.scm or (compile-file "filename.scm") or do you have some preprocessor on it?
from the original message:
drr@dibbuk$ make target=gambit test/bug.gambit gsc -:s -link test/bug.Gambit gcc -I/home/drr/include test/bug.c test/bug_.c -o test/bug.gambit \ -L/home/drr/lib -lgambc -lm -lutil -ldl
which is something of a habit i have with Gambit going back many years in order to actually insert a lot of gcc optimization flags (*not* included in this test case)
Do you see any other reasons for why this occured?
just what I suggested above. It gives me something to try anyway.
d
GPG Public key at http://cyber-rush.org/drr/gpg-public-key.txt
-- GPG Public key at http://cyber-rush.org/drr/gpg-public-key.txt