[gambit-list] (Good til ~Feb or so:) Complete guide to how to set up Black Hole non-syntactictower version, the "std bundled libs" directory, and the Sack web server and client middleware , inclusive of all .tar.gz files required (copy kept on Dumping Grounds as long as relevant).

Mikael mikael.rcv at gmail.com
Wed Nov 28 18:34:34 EST 2012


Hi,

2012/11/29 Matthew Phillips <matthew at phillipsoft.biz>

>  Thanks a lot for putting this together, it is a tremendous value. Couple
> of notes:
>
> 1) You have your ln -s command backwards (I do this all the time ;))
> Should be ln -s /path/to/real-thing /path/to/new-link
>

Ah right.


>
> 2) This step doesn't work for me:  (modules-compile! (modules-in-dir
> "~~/lib/modules")))
>
> I get the error :
>
> > (modules-compile! (modules-in-dir "~~/lib/modules"))
> *** ERROR IN |module#define-syntax\|\|\|macro\|\|\|| -- Invalid
> define-syntax form (wrong number of arguments)
> (define-syntax (lambda (source env mac-env) (let ((code (expr*:value
> source)...
> hygiene/1>
>
>
> I'm guessing there is a third argument (out filename?)??
>

Uh hmm that looks like an error in a module.

What about you do like this, compile each module in the std dir separately
with (module-compile! 'dir/modulename) and check which one it was.

Or just do this by

(for-each (lambda (m) (print "compiling " m "\n") (module-compile! m))
(modules-in-dir "~~/lib/modules"))

and tell what worked and what didn't.



> 3) Should be noted for others, you can't compile from the command like
> this: bsc -exe myfile.scm like you normally would.  Instead from the repl:
> (module-compile-to-standalone "a.out" 'somefile)  use that in a script or
> makefile.
>

Riight.

As for syntactictower Per made some interface equalling -exe though exactly
right now the syntactictower is rather for those who want to bring a bit of
order, than for those who want to have complete function from the start.

It should not be a lot that needs to be brought to order though at all,
from what I can see right now it's a question of maybe 10 hours to bring it
to non-syntactictower's level.

If you feel like you can give a shot at it.


And, as for harmonizing non-syntactictower and syntactictower, what shuold
be done is
     1) Bring a "srfi" package resolver to non-syntactictower and put the
srfi:s in there instead of in (std srfi/*). And,
     2) Keep the srfi:s in both distros primarily under their number names,
and then have "proxy" modules under nice names like "list", "string" etc.
(Currently syntactictower has only the latter naming and non-syntactictower
only has the further naming.)

This is all.


(And, syntactictower has better macro expansion, caching etc. technology so
it's desirable to do this.)


> Cheers!
>

Thanks. Same!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.iro.umontreal.ca/pipermail/gambit-list/attachments/20121129/b3100cea/attachment.htm>


More information about the Gambit-list mailing list