From: George J. Carrette
Subject: New SIOD update, with -*-parser:fasl-*- and -*-parser:read-*-
Date:
Message-ID: <4h0f8m$jf2@klein.iguide.com>
The latest ftp://ftp.std.com/pub/gjc/siod_tar.gz has reconstructed an old
trick that allows files of different syntax to be recognized by the loader
and treated accordingly.
Load will look at the first line in a file for the string "parser:XXXXX"
and if found, obtain the value of the variable parser:XXXXX and call it
as a function in order to obtain an appropriate READ function.
Hence a CALL FOR VOTES is required, suggestions for what to call
the alternative syntax which I will implemented by coding "pratt.scm" in C
and having the capability built-in to the system.
-gjc
p.s.
(define (fascomp filename)
(fast-save filename
(load (string-append filename ".scm") t)
nil
"#!/usr/local/bin/htqs -v01,-m2 -*-parser:fasl-*-\n"))
From: George J. Carrette
Subject: New SIOD update, with -*-parser:fasl-*- and -*-parser:read-*- and -*-parser:pratt-*-
Date:
Message-ID: <4h387a$7eb@klein.iguide.com>
"George J. Carrette" <ยทยทยท@mci.newscorp.com> wrote:
>The latest ftp://ftp.std.com/pub/gjc/siod_tar.gz has reconstructed an old trick...
Now I've gone and done it, you can now write a script that
looks like this:
#!/usr/local/bin/htqs -v01,-m2 -*-mode:c;parser:pratt-*-
main() := writes(nil,
"Hello Scheme World.\n",
"fib(20) = ",fib(20),"\n")$
fib(x) := if x < 2 then x else fib(x-1) + fib(x-2)$
Now all we have to do is find a use for semi-colons and brackets even though
parens and commas will do fine!
Anybody got any suggestions?
-gjc
p.s. See hello.scm example in the distribution for hints on compilation.