read


read
or learn more

Broccoli version 0.0.6

Feb 20, 2008

I have been working on programming language interpreters for seemingly forever, but only recently has the effort born any fruit. That is, 95% of all of my langdev projects have been throw-aways or work-related DSLs; however, Broccoli one is more suitable for public consumption.

What Broccoli Is Not

Broccoli is not Lisp/Scheme/Arc/etc… That is, Broccoli is not a functional language. It certainly has some functional elements, but it is far from treating functions as first-class objects. In addition, Broccoli lists are in fact fundamental data types whereas they are not in Lisp and Scheme (not sure about Arc). Finally, Broccoli also contains those pesky parenthesis, but that and a few similar function names are as close to Lisp/Scheme/Arc/etc… as Broccoli gets. There are most likely millions of other ways that Broccoli differs, but these are the root differences.

Broccoli is not Fast That is, Broccoli is a fully interpreted language that does not contain much in the way of optimizations ala JIT compilation. That is to say that it cannot one day be fast, only that it is not the goal to start.

Broccoli is not (fully) Object-Oriented In fact, at the moment Broccoli is not “Object-Oriented” in the least. I will one day build an object system into it (it would actually be quite easy); however even when that day comes, Broccoli will provide support for functions and primitive types.

Broccoli is not (yet) Open Source But it will be one day.

What Broccoli Is

Broccoli is the language specification of Broccoli What on earth does that mean? In essence it means that the form of Broccoli is the parse form of the Broccoli language (see ROtNs for more details on this recursive definition).

Broccoli is succinct and familiar I have tried (and will continue) to use names that are familiar to an important part of the programming community… me. I will not sacrifice succinctness to reach this aim however.

To learn more about Broccoli, check out the manual, request a binary, play around, or just slag me online (oh wait).

-m

No Comments, Comment or Ping

Reply to “Broccoli version 0.0.6”