Wednesday, December 18, 2002

Dangit! I was so ready to get started on FOO... I took one last search through various languages online and found a few more of note... especially Kiev and Pizza
These both seem to be brilliantly designed languages and implement much (but not all) of what I was after. Mainly, Kiev's AI engine.
However, there is the main drawback that they're both implemented IN JAVA. I have nothing against java, its just that, LIKE VS.NET, you need to download the freakin' runtime ! gah!

not to mention that any programming language with an average speed comparable to VISUAL BASIC is just embarrassing. There's no other word for it. Such elegance is wasted ON HIDEOUS bytecode... and I'll tell you something ... A UofA alumni told me a story about when he took CSC 369? maybe he meant ECE 369? ... essentially you learn about machines, OSes, compilers, etc ... at any rate, for some reason or another, for part of a rather large project, he needed to look into understanding java bytecode... he told me it was the ugliest stuff he had ever seen.... no comment.

So anyway, I need to rethink how I will implement the logic engine, since Kiev's AI engine has quite a bit of elegance to it ... they took the so-called "AI engine" a bit further than I did, and implemented full-on rules, as well as using the @= sign to represent sets of rules (sort of like Icon's '!' bang operator, or C#'s 'foreach' statement.)
That's pretty darn cool. I'll need to think about whether I want to support full-on prolog-style predicates.

Of course, FOO will have the 'suspend' statement. Actually, so will C#, soon... I forget what they're going to call it... supposedly the same as Ruby's ... something like wait or hold or join or something ... oh well.

No comments: