Sires,
I've realized that the examples seemed to be built using a development version of Gambit-C. I tried on a very stable version (4.6.6), which is from six years ago, and I've tried from a more recent version, 4.9.3, from the default package installers, in Windows and Linux.
I've looked for the some hints about which version of Gambit is being used on all examples, and the features and files shown (like _univlib.scm, present in the development version of Gambit - directly from Git, on https://github.com/gambit/gambit/blob/master/lib/_univlib.scm) and I realized that the compiler version used need to be an experimental one.
So I'll try all the samples, again, but from a version of gambit compiled directly from the source code, downloaded from the main repository.
Thank you from all answers. I'll keep you in touch.
Em sex, 19 de jul de 2019 às 12:37, Marc Feeley feeley@iro.umontreal.ca escreveu:
Like so:
% cd gambit % cd lib % make _gambit.js ../gsc/gsc -:~~bin=../bin,~~lib=../lib,~~include=../include -f -target js -prelude "(define-cond-expand-feature|enable-type-checking|)(define-cond-expand-feature|disable-auto-forcing|)(define-cond-expand-feature|enable-sharp-dot|)(define-cond-expand-feature|enable-bignum|)(define-cond-expand-feature|enable-ratnum|)(define-cond-expand-feature|enable-cpxnum|)(define-cond-expand-feature|disable-smp|)(##include"../lib/header.scm")" -o _gambit.js ../lib/_univlib.scm % cd .. % gsc/gsc -:=. -target js -exe app.scm % ./app 1 256 65536 16777216 4294967296 1099511627776 281474976710656 72057594037927936 18446744073709551616 4722366482869645213696 1208925819614629174706176 309485009821345068724781056 79228162514264337593543950336 20282409603651670423947251286016 5192296858534827628530496329220096 1329227995784915872903807060280344576 340282366920938463463374607431768211456 87112285931760246646623899502532662132736 22300745198530623141535718272648361505980416 5708990770823839524233143877797980545530986496 % cat app.scm (define n 20) (for-each (lambda (i) (println (object->string (expt 2 (* i 8))))) (iota n)) (exit)
This should work for the other backends too. Note that there’s some bit rot of lib/univlib.scm, so there are issues with some parts of the Gambit library (for example write and pretty-print are broken, (exit) is needed to avoid an exception on exit, etc). You can revert to previous recent releases of Gambit to get these working correctly.
Sorry but lots of things are in flux right now…
Marc
On Jul 19, 2019, at 11:08 AM, Amirouche Boubekki <
amirouche.boubekki@gmail.com> wrote:
Sorry for the multiple emails!
Le ven. 19 juil. 2019 à 13:38, Marc Feeley feeley@iro.umontreal.ca a
écrit :
You should look at this recent thread:
https://mailman.iro.umontreal.ca/pipermail/gambit-list/2019-July/009103.html
In the above mail thread, it is described how to compile a scheme file
into javascript WITHOUT "Gambit runtime".
Q: How can I bundle the Gambit runtime into the compiled JavaScript file?
Thanks in advance!