FYI,

Over the last year or so, I have been brainstorming and writing notes on a shedload of improvements (some that are simplifying) to my Muldis D language, and if things work out I'll be starting around this 2011 Christmas to make some significant steps in both large changes to the spec and the beginnings of an implementation. Many of these notes are in the TODO_DRAFT file in the Muldis D version control, and some are just on paper.

One of the latest thoughts that I've had is to take the leap and make Muldis D completely self-hosted, meaning that the reference implementation of Muldis D, that program which takes Muldis D source code and turns it into executables, will itself be written in Muldis D. Since the language is homoiconic, or following the common examples of Perl and SQL both, the parsing and compilation that it does can be done either statically or at runtime or both, say if one is building a traditional compiled program or a REPL.

This compiler can/would have multiple targets/backends, and the initial version would compile to Perl 5. Others to other general purpose languages. Others would compile to SQL, in so much as SQL is computationally complete, or otherwise supplemented. Similarly, one could build parsers/emulators of other languages in Muldis D, particularly SQL, so to emulate SQL DBMSs.

The bootstrapped Muldis D would be assisted by Perl to start with, which would compile the Muldis D source code of the Muldis D compiler for the first time, after which the former would then be able to compile itself from then on.

I don't know if any database-centric language has done this before, bootstrapping, but if not, then this may be an innovation for the industry.

-- Darren Duncan

P.S. Despite being bootstrapping, code written in Muldis D and code written in Perl or other languages can still talk to each other, so you will still be able to use Muldis D for interface code between say a Perl application and a database, and in fact I expect this will still be the most common usage, effectively like how SQL is commonly used, a DB interface from other languages.
_______________________________________________
muldis-db-users mailing list
muldis-db-users@mm.darrenduncan.net
http://mm.darrenduncan.net/mailman/listinfo/muldis-db-users

Reply via email to