XL Compiler Bootstrapped
descubes inputs: "An XL compiler bootstrapped two days ago (that means it compiled itself). Take a look at the project homepage to discover this language, designed around concept programming ideas, which is a sort of cross between C++, Lisp and XML. Much help is now needed to improve this rudimentary first iteration." One thing to note is that the C++ version of the compiler came in at 4500 lines, while the XL equivalent came in at some 2700 lines. This seems to imply that XL may be easier to work in than C/C++. Might XL someday be nudging the old workhouse out of a job in the near future?
While you're correct that LOC is not a measure of how good a language is, it can be a rough measure of the level of abstraction afforded by a language, when compared to a similar language.
It's always a long day... 86400 doesn't fit into a short.
I would tend to disagree. There have been many studies that show that the same programmer will on average produce approximately the same number of codes in any given language. A language that offers better abstraction, will therefore give higher programmer efficiency.
To me, "better" means to more readable, more maintainable, compiles to better object core, etc, etc. Who cares how many lines it needs?
True, there are other considerations. Python will usually make you more efficient than, say C++. But well-crafted C++ code is likely to run faster. The holy grail is good abstractions, easy (but safe) low-level access, small run-time, and fast code. I wouldn't be surprised if concept programming was a step in the right direction.
I did not see support for "iterators" mentioned directly, but if the extension mechanism is strong enough that should be doable.
I'll be taking a careful look at it myself. These are some very powerful features. (Sather had many of these and was (in my experience) the best language I've ever used.) If C# had only put in decent syntax for some of these things I could have been persuaded that Microsoft was not the SAOE (Software Axis Of Evil), but they didn't.
What you *really* need is a better way for libraries, and other code, to expose their functionality.
Unix started down this road with 'everything is a file' but failed to follow through on that promise.
When the Unix creators decided to take what they already knew and start again, 'everything is a file' became a design philosophy.
Consequently, devices can be accessed through the file system
One can draw to a screen via files, or open a internet network connection
The magic for all off this is a unified protocol 9p. All file access is via 9p so if your program can speak 9p it can serve files to anyone. One binds a programs namespace into your own and off you go. The network becomes utterly transparent.
In this way one waves bye bye to bindings and other marshalling techniques, who needs 'em.
If your programming language can open and read and write files, it can do anything.
It is just one of the many benefits that plan9 has brought to us.
Too bad people are letting it slip past them.
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
Yes! You nicely pointed out some of the reasons for a standard syntax tree representation in XL. The properties you mention (accessibility to third-party tools, persistence, representability to the programmer ("rendering"), extensibility (more data than in the source)) are all important, and discussed on the Mozart web site.
The "new" XL compiler, the one that bootstrapped, is an attempt at vastly simplifying that tree representation. It's now down to 7 node types.
-- Did you try Tao3D? http://tao3d.sourceforge.net
It's not in the looks. From http://xlr.sourceforge.net/info/xl.html:
A lot of ideas come from older languages.
Think C/C++... without the syntactic and semantic complexity.
Think Lisp... without the parentheses.
Think XML... with better support for highly structured data such as program.
There are links to explanations on the original page.
-- Did you try Tao3D? http://tao3d.sourceforge.net
It is true that the story of the license has hindered adoption of this interesting and intreaguing operating system. It serves as an illustration of how fraught with unseen circumstances the world is. Free software wasn't the way to go when plan9 was born 14 years ago. Lucent's Lawyers live in a different world. Bell-Labs has lost many of it's staff. It is a place where lightbulbs have been removed to save money.
The user base, as monitored by newsgroup traffic, has been very slowly growing, a few more people at a time but nothing like a swell. Catch22 : more users = more momentum for change in whatever direction.
There is no-one officially paid to maintain plan9 any more, though it still is under active maintenance.
It won't die for a good while yet, it is a nice antithesis of eye candy & gee whizzery replaced by real magic.
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter