Some ideas to take from Lava programming language?
Paul Dufresne
dufresnep at gmail.com
Tue Dec 30 20:09:59 PST 2008
Looking to visual programming languages, I have begin to look these last
days to Lava programming language (not to be confused with the hardware
description language).
As usual, looking through the wikipedia page, may be the nice way to begin:
http://en.wikipedia.org/wiki/Lava_(programming_language)
"completely prevents inadvertent access to uninitialized variables and null
objects already at programming time by complete static initialization
checks." is a nice feature.
Lava is a dynamic language however (based on an interpreter). Buth, like D,
include pre and post conditions assertions (design by contract as Eiffel
coined the term). Value objects, similar to the invariant of D version 2,
more or less.
I don't know enough to judge about things like "virtual types" and compare
it to the templates.
Single assignment, that for me is equivalent to logic variables (with
unassigned value, that can be assign just once), allows to have faster
algorithms than pure functional style, while keeping the advantage of
thread-safe code (without to have locks). This is more or less what I have
remembered from trying to read CTM book:
http://www.info.ucl.ac.be/~pvr/book.html that pretty use the OZ programming
language (in my opinion one of the first programming language to allows
Funtionnal, OO, imperative, and logic style of programming, in a massively
threaded distributed programming language). Anyway, I think, not even sure,
this is lacking in D, and could be interesting.
Well, enough said, what I just try to say is: "Lava, as a new experimental
object-oriented programming language, is trying some nice features other
than visual programming that you may want to look at for ideas of what is
going on".
The Lave PE (Programming Environment), have integrated help, that describe
design choices, and is almost a paper being written.
More information about the Digitalmars-d
mailing list