www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Some ideas to take from Lava programming language?

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:

"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. 
Dec 30 2008