Hello,
is anybody else interested in running Kurt Nørmark's LAML with Gambit 4? Kurt agrees that I forward some of our conversation about this.
I'll upload the attachment that I was talking about to http://hafner.sdf-eu.org/pool/laml-for-gambit4.tgz
Thomas Hafner thomas@hafner.nl.eu.org wrote/schrieb 20050323194538.ECC4991B530@schnucke.hafner.nl.eu.org:
Hello Mr. Nørmark,
Kurt Noermark normark@cs.aau.dk wrote/schrieb yeg64zlz665.fsf@homer.cs.aau.dk:
Thomas Hafner thomas@hafner.nl.eu.org writes:
I will like to support your work on establishing a healthy LAML support for Gambit-C. In the end, I would like to receive your setup files, and include them in forthcoming LAML distributions.
Thanks for your offer to support me. I've attached an archive containing my first successfull configuration files for calling LAML from a command prompt.
I've used Gambit Version 4.0 beta 11 (the most recent released one would be beta 12).
Output of uname -a is: Linux schnucke 2.4.29 #2 Mit Mär 9 19:35:04 CET 2005 i686 GNU/Linux
My OS is Debian 3.1.
Have you looked at the Emacs stuff, more specifically how to activate LAML via Emacs? Personally, I think this the most important part. An this part will certainly be part of a "full LAML support" for Gambit.
Although I'm using Emacs, I'm not used to program in elisp. I noticed, that the procedure start-process is used to call LAML out of emacs. That makes me think about what to pass as arguments. You may wonder why this should be a problem. The promlem that I've encountered is that the Gambit interpreter (gsi or gsi-script) may treat command arguments as another files to be loaded. That depends on the first line of first file to be interpreted. I haven't found another means (e.g. command line option) to influence that behaviour than by writing that first line. That works like follows, using bash rather than a temporary file.
- If bash is called out of sh, just to demonstrate what have to be
passed as arguments:
#!/bin/sh
exec bash -c 'gsi-script <(echo '''#!/usr/bin/env gsi-script ;; begin of scheme code ;;... ;; end of scheme code ''') "$@"' -- 'foo' 'bar' ...
- Speaking in terms of man 3 exec:
path[] shall be: bash
argv[0] shall be: -c
argv[1] shall be: gsi-script <(echo '#!/usr/bin/env gsi-script ;; begin of scheme code ;;... ;; end of scheme code ') "$@"
argv[2] shall be:
argv[3] shall be: foo
argv[4] shall be: bar
a.s.o.
It's not very nice to depend from bash, because some systems (e.g. NetBSD) don't have it installed per default. But it's more elegant than a solution using a temporary file, I think. Maybe one day I'll be able to include that into laml-execute.el.
Regards Thomas Hafner
-- ___ http://hafner.sdf-eu.org/ ___ ___ mailto:thomas@ ______________ ____________ hafner.nl.eu.org ___
Kurt Noermark normark@cs.aau.dk wrote/schrieb yegmzsmq4oi.fsf@homer.cs.aau.dk:
Thomas Hafner thomas@hafner.nl.eu.org writes:
Thomas,
I will put your compatibility file and your exec file into the LAML distribution, and I will notice that you have done the work.
With respect to starting LAML from Emacs: It is my experience that it can be quite difficult to know the command line option well enough to start LAML successfully from Emacs. It took me some time to play with all the options when I handled MzScheme, Guile, and others. I do not know Gambit at all, and as such it will be very difficult for me (and most certainly time consuming) to set this up.
We will leave this aspect unimplemented for Gambit.
Hello Mr. Nørmark,
Kurt Noermark normark@cs.aau.dk wrote/schrieb yeg64zlz665.fsf@homer.cs.aau.dk:
Thomas Hafner thomas@hafner.nl.eu.org writes:
I will like to support your work on establishing a healthy LAML support for Gambit-C. In the end, I would like to receive your setup files, and include them in forthcoming LAML distributions.
Thanks for your offer to support me. I've attached an archive containing my first successfull configuration files for calling LAML from a command prompt.
I've used Gambit Version 4.0 beta 11 (the most recent released one would be beta 12).
Output of uname -a is: Linux schnucke 2.4.29 #2 Mit Mär 9 19:35:04 CET 2005 i686 GNU/Linux
My OS is Debian 3.1.
Have you looked at the Emacs stuff, more specifically how to activate LAML via Emacs? Personally, I think this the most important part. An this part will certainly be part of a "full LAML support" for Gambit.
Although I'm using Emacs, I'm not used to program in elisp. I noticed, that the procedure start-process is used to call LAML out of emacs. That makes me think about what to pass as arguments. You may wonder why this should be a problem. The promlem that I've encountered is that the Gambit interpreter (gsi or gsi-script) may treat command arguments as another files to be loaded. That depends on the first line of first file to be interpreted. I haven't found another means (e.g. command line option) to influence that behaviour than by writing that first line. That works like follows, using bash rather than a temporary file.
- If bash is called out of sh, just to demonstrate what have to be
passed as arguments:
#!/bin/sh
exec bash -c 'gsi-script <(echo '''#!/usr/bin/env gsi-script ;; begin of scheme code ;;... ;; end of scheme code ''') "$@"' -- 'foo' 'bar' ...
- Speaking in terms of man 3 exec:
path[] shall be: bash
argv[0] shall be: -c
argv[1] shall be: gsi-script <(echo '#!/usr/bin/env gsi-script ;; begin of scheme code ;;... ;; end of scheme code ') "$@"
argv[2] shall be:
argv[3] shall be: foo
argv[4] shall be: bar
a.s.o.
It's not very nice to depend from bash, because some systems (e.g. NetBSD) don't have it installed per default. But it's more elegant than a solution using a temporary file, I think. Maybe one day I'll be able to include that into laml-execute.el.
Regards Thomas Hafner
-- ___ http://hafner.sdf-eu.org/ ___ ___ mailto:thomas@ ______________ ____________ hafner.nl.eu.org ___
-- Kurt Nørmark Phone: +45 9635 8080 Department of Computer Science Direct phone: +45 9635 8896 Aalborg University Fax: +45 9815 9889 Fredrik Bajers Vej 7, Building E E-mail: normark@cs.auc.dk DK-9220 Aalborg Ø WWW: http://www.cs.auc.dk/~normark/ DENMARK Office: E4-208
Regards Thomas