Is D a cult?

retard re at tard.com.invalid
Sun Mar 7 15:55:02 PST 2010


Sun, 07 Mar 2010 14:52:09 -0800, Walter Bright wrote:

> retard wrote:
>> It's perfectly clear to me that no matter what you do, D won't become a
>> functional language because the core runs on an imperative Turing
>> machine. But the functional constructs can help building more readable
>> and reliable code. That's why C# and Scala got those features..
> 
> I'll reply to your other points later, but this one bothers me. Neither
> C# nor Scala support pure functions or immutable data structures, which
> are fundamental to FP. I don't see how they can be considered as
> supporting functional programming.
> 
> http://en.wikipedia.org/wiki/Scala_(programming_language)
#Functional_programming
> 
> http://www.25hoursaday.com/weblog/CommentView.aspx?
guid=3D5755BF-43CF-4D47-A7EC-B60F6B536702

Agreed, D 2 is rather unique among imperative languages. I guess no other 
imperative language provides such a transitive const system. The lack of 
strong const types sometimes bites you.

On the other hand Scala does provide a shallow form of immutability and 
some immutable data structures in the standard library. I don't know if 
D2 provides any built-in immutable data structures. I guess just wrapping 
a data structure in immutable() won't suffice since there are probably 
some state changing functions in the mutable implementation that need to 
copy when dealing with immutable values.

The good thing in Scala and C# is that they both provide nice tools for 
expressing functional problems without too much verbosity. When the const 
system in D works, I guess it solves the other part of the problem. Too 
bad you can't have them all without resorting to pure functional 
languages.

In the functional language community they have been spending much time on 
the opposite, to find ways to add mutability into referentially 
transparent programs. Some examples:

http://www.haskell.org/haskellwiki/DDC
http://cs.anu.edu.au/~Ben.Lippmeier/project/thesis/thesis-lippmeier-
sub.pdf
https://www.cs.tcd.ie/Edsko.de.Vries/pub/
MakingUniquenessTypingLessUnique.pdf



More information about the Digitalmars-d mailing list