Hi,

2012/11/29 Matthew Phillips <matthew@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!