Domain: eidola.org
Stories and comments across the archive that link to eidola.org.
Comments · 8
-
Re:Dreamed-of feature
Maybe you should look at Eidola. I think it's been a while since it's been actively developed, but still seems to be roughly what you're talking about.
-
LISP, the religion
Yes, yes, I had to deal with all the "Lisp did it first" comments when Eidola was on Slashdot.
While it's true that the program is the parse tree in Lisp, that's not a very strong statement. Lisp's elegance comes from the fact that there are so few constructs in the language, and basically everything is a list -- even your programs. But they're basically just lists, that's all. So you have this wonderful flexibility, but the parse tree doesn't actually tell you very much about the program; you have to "parse the parse tree" to recognize higher-level constructs.
Now languages with lots of language-level constructs -- like strong static types, objects, access modifiers, etc. -- tell you a whole lot about high-level structure with their parse trees. (And, for those following along at home, Lisp is not such a language -- not that that's a bad thing, but it isn't. Lisp builds these high-level constructs out of a very few language-level atoms.) To my knowledge, applying the "language is the parse tree" principle to non-functional languages is still largely the domain of research projects like Jackpot, Eidola, and Intentional Programming, and visual languages.
Moral: Lisp is very, very, very cool, but it has not already done everything every other language is doing. So yes, it may sound familiar from you Lisp book, but it's not the same. -
DSL + Slashdotted = just fine, actually
When Eidola was Slashdotted, it was hosted on an old PC running Apache and Linux, over DSL, and it did just fine. (It's now hosted on Sourceforge, but at the time, it was just DSL.) It's worth mentioning that it is a very low-bandwidth site, but still -- the DSL took it in stride. In fact, my friend who was hosting didn't even notice that he was being Slashdotted until he saw the link to his server on Slashdot!
It's also worth mentioning that reason I switched to Sourceforge was that his DSL provider went under. For a little project like Eidola, that was OK. But if you need uptime, pay somebody to host. -
That is a powerful idea
Although add_int_long() is a bit easier on teh eyes, I have to say that I still would feel annoyed using it every day. I can see that perhaps with enough tweaking, it might end up being OK for general use, but I remain suspicious...
I agree that cross-language linking is a powerful concept. However, I think that this particular attempt ends up not being exactly so much cross-langauge linking as cramming as much a language that will fit into the given design, and having it all spit out the same code on the backend. To me it seems like it could have been done just as easily in Java bytecode, it's just that MS went to the trouble to write really great cross-compilers for the MSIL where the compilers for other languages into Java bytecode are more disperate and not really integrated with one another. I think a much more interesting project than an open-source ".NET" would be an IDE that combined a number of these implementations of various languages compiling into Java bytecode and wrap them in one IDE that could also debug between languages.
To me, the fundamental goal of the whole .NET thing (at least the CLR/MSIL aspect) really seems to be a VM style design only more oriented to performance than Java VM's. The cross-langauge feature to me feels something of an afterthought, and I think it really grew out of a need for a migration path for both VB and C++ programmers that were starting to eye Java than a true love of many languages (though I don't doubt that the people working on the "#" versions of languages have every bit as much fire for them as any other devotee of said language).
Perhaps I am somewhat tainted by my fringe involvement with the language Eidola (posted to /. some time back). There, you have a langauge designed to have many "notations" (text and/or graphical form, like possibly a C++ and Ruby form [Note - not sure either form would be possible to any great extent! Still wide open really.]) spring from a comman mathematical foundation - in Eidola one could imagine debugging through code written in one notation even if it had been written in some entirely different notation, without any effort on the part of the debugger or notation presentation layer.
As I mentioned before, being able to debug from C++ into a perl library which in turn inherits from a VB base object doesn't actually sound that great to me in practice. It's a cool tech demo but for real world situations where most people only know a language or two at best (and sometimes even one is in question!) it seems like it could lead to trouble, and also over-reliance on the one development tool which is capabile of doing that. Again, I'd much rather debug all the code as if it had been written in whatever language I'm actually working in.
As for not using a library that overloads - that's where I'm not sure you'll have a choice. Given that it seems to be taking a very Java like direction in most other areas, I note that really the most powerful thing about Java is not so much the language or VM's, but the very rich and powerful set of standard libraries. If they go that way then you'll have the choice of using many powerful libraries with overloading (as they would orient them toward C#) or having almost no libraries at all. As you say, you could just ignore the initative altogether but I think the draw of a very modern and powerful tool will pull in some developers from other langauges who then will mostly end up migrating to C#.
-
Huh?
text is a very poor notation system for the concepts of a high-level language.
Like, say, English? If the first principle these people are starting from is that text is a bad way to express ideas, then I have a very hard time imagining what it is that could be better. Pantomime? Grunts & gestures? Pictograms? From their page:
Clean good (C, Java, Scheme); monstrous and messy bad (C++, Perl, Ada).
Hey, different strokes for different folks and all that rubbish, but the thing I like most about Perl (for one) is that it is *intentionally* messy, just like human languages. You can tell that a linguist came up with it. Complex problems simply don't always map well against simplistic solutions. A complex language, and the rich expressiveness that it allows, is often just the thing that is needed. English & Perl both work so well because they are flexible, adaptable, messy, and dynamic. "Orthogonal" languages are so hell-bent on rigorous mathematical structure that they often get in the way of more natural (to humans) ways of conceptualizing they problems at hand.
It also bugs me that I can't find any samples of the source code (or whatever -- graphical flow charts, who knows) of this language. The best I've found so far is a high level description of their design criteria, which is all well and good, but if they can't even formulate their concepts well enough to express them in something looking like code, then I can't imagine how they expect anyone to wnat to use it. "I know, they'll just, like, think really hard about stuff, and it'll work better." "Radical man, really radical. Hey, pass me that willya, I need another hit..."
Riiiight.....
-
Huh?
text is a very poor notation system for the concepts of a high-level language.
Like, say, English? If the first principle these people are starting from is that text is a bad way to express ideas, then I have a very hard time imagining what it is that could be better. Pantomime? Grunts & gestures? Pictograms? From their page:
Clean good (C, Java, Scheme); monstrous and messy bad (C++, Perl, Ada).
Hey, different strokes for different folks and all that rubbish, but the thing I like most about Perl (for one) is that it is *intentionally* messy, just like human languages. You can tell that a linguist came up with it. Complex problems simply don't always map well against simplistic solutions. A complex language, and the rich expressiveness that it allows, is often just the thing that is needed. English & Perl both work so well because they are flexible, adaptable, messy, and dynamic. "Orthogonal" languages are so hell-bent on rigorous mathematical structure that they often get in the way of more natural (to humans) ways of conceptualizing they problems at hand.
It also bugs me that I can't find any samples of the source code (or whatever -- graphical flow charts, who knows) of this language. The best I've found so far is a high level description of their design criteria, which is all well and good, but if they can't even formulate their concepts well enough to express them in something looking like code, then I can't imagine how they expect anyone to wnat to use it. "I know, they'll just, like, think really hard about stuff, and it'll work better." "Radical man, really radical. Hey, pass me that willya, I need another hit..."
Riiiight.....
-
Eidola Code?Some example, any example of some sort of code took forever to find. But here is something!
It seems to be an implementation of this Eidola language in Java and gives a very brief example of what appears to be Eidola programming or whatever passes for it.
Here is a snippet of the example from the page:
Here's a simple example to get you started:
new Class c
new Variable v
v setType c
v setSuperElement c
c addPublicMember c.v
new Class d
d addParent c
d addPublicMember c.v
-
Getting a little ahead of the game...Read this treatise (in PDF, postscript, and TeX format).
Jeez, they're already trying to justify this as a mission-critical OS, when the kernel's in Java and they haven't even resolved important issues like scoping? I think they're a bit ahead of themselves...