Unofficial wish list status.(Jul 2008)

Sean Kelly sean at invisibleduck.org
Tue Jul 22 10:12:32 PDT 2008


bearophile wrote:
> Sean Kelly:
>> But I very much believe that there is an ongoing need for systems
>> languages, and I can't envision a functional systems language.  Such
>> languages must allow mutable state.
> 
> There are many functional languages that allow to mutate state.
> 
> I'm sure the functional lang crowd will suggest you many functional languages that may be fitting for your requirements if you ask in the rigth places (like the Lambda the Ultimate blog).
> Personally I may suggest this (with a lisp-like syntax, but it's not lisp), but I have not used it yet:
> http://www.bitc-lang.org/

Interesting.  Can't say I'm crazy about the lisp-like syntax if I had to 
use it for systems programming, but it certainly does what you claimed. 
  And I know that even Erlang allows mutable state--it doesn't try to 
obscure IO in a functionally invariant wrapper, for example--but I've 
always felt that the functional syntax naturally lent itself to a 
particular style of programming which assumes invariance.

That said, I do agree that integrating multiple languages for a single 
application is often undesirable because the interaction points between 
the languages are often complex and irritating to use.  This is the 
obvious selling point for the .NET CLI approach, and is actually why I 
think they created it in the first place.  Regarding Erlang's 
interaction with C / D in particular however, because Erlang is 
effectively actor-based, the interaction is fairly similar to all 
interprocess communication in Erlang.  I think this lends to creating 
subsystems in C / D rather than tiny optimization points, but the 
approach is fairly workable overall.  However, I will admit that I'd 
occasionally like to have in-process "plugin" functions to avoid the 
overhead of communicating with a separate process, so I do think one 
could argue that the D2 approach is a good one.  It's just not an 
argument I've fully accepted quite yet.


Sean



More information about the Digitalmars-d mailing list