[M3devel] A question about the M3 licensing...
hendrik at topoi.pooq.com
hendrik at topoi.pooq.com
Fri Aug 21 01:48:26 CEST 2009
On Thu, Aug 20, 2009 at 02:57:36PM -0400, Louis Chrétien wrote:
> I remember reading on this list (or was it the website...) that the way the
> licensing of Modula-3 is written, it would make it incompatible/impossible
> to merge this project with the GCC front-end from the GCC foundation, the
> way that GNU Ada was incorporated into that project.
>
> Because M3 uses a modified GCC code generator, it would have a made sense to
> go that way.
>
> But another, intriguing possibility exists: the LLVM project
> (http://www.llvm.org). It looks like a very high-performance, optimizing,
> multiple target infrastructure, that would make Modula-3 highly portable.
I looked into LLVM for another language, with the idea of using its
in-memory interface and constructing the parse tree directly. It turns
out that it does type calculation during parse tree construction. THe
result is that any type I want to use has to be completely defined
before I can use it anywhere in the parse tree I'm trying to build. For
compiler-synthesized records whose fields are invented while generating
the intermediate code that uses them, this turned out to be an
unacceptable ordering constraint.
There are ways around this by storing the entire intermediate code in
RAM as a kind of insertable-text data structure, and then writing it all
to a disk file, and then having the LLVM back end read that file ....
but it got messy.
>
> I'm sure i'm not the first to think of this, but what are the obstacle to
> porting M3 to that environment (apart from the obvious effort in programming
> required... ;-)))
I suppose there's another possibility -- writing a new M3 front end with
a different licence, and being free of SRC forever. Except that if
some of our libraries are compiled from SRC source code, will we have to
compile at installation tiem to avould distributing mixed GNU/SRC
binaries?
-- hendrik
More information about the M3devel
mailing list