|
Boost : |
From: Joel de Guzman (joel_at_[hidden])
Date: 2005-02-02 22:04:11
christopher diggins wrote:
> ----- Original Message ----- From: "Joel de Guzman"
> At this point it seems we have nearly identical tools, with different
> syntax. Unimperative syntax is quite deliberate, since I wanted it to be
> recognizable to programmers from backgrounds like Haskell, Lisp, Scheme,
> etc. It sounds like you are pleased with the Rave syntax as well, and
> won't be changing it anytime soon neither. It seems silly that we would
> be working on two tools with so much similarity. Can you think of any
> way we can help each other out, and perhaps reach some common ground?
I'll try to resurrect Rave and polish it. It's been ehm, almost 2 years
ago. It was a fun-only project, but I got too carried away (e.g. it
even had big-nums and the whole numeric tower!), alas it never got
finished.
I'm quite sure that the common ground is the low level (dynamic)
'object' mechanism. There's fine detail going on here such as
dealing with type promotion (e.g. int to real), multiple dispatch
(e.g. how to deal with, say int+real, bignum+int), etc. I even went
as far as providing XDR binary serialization of objects, so, you can
send objects over the net or save as a file. The idea is that since
a function is merely an object that you can save to file, the scheme
can be an alternative to the usual bytecode. A function saved to
a file can be loaded and executed. Pretty cool, IMO. Whether it's
compiled by the c++ compiler, or compiled by a script parser (using
Spirit of course), we don't really care.
Cheers,
-- Joel de Guzman http://www.boost-consulting.com http://spirit.sf.net
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk