Why is `scope` planned for deprecation?

Walter Bright via Digitalmars-d digitalmars-d at puremagic.com
Thu Nov 20 17:09:10 PST 2014


On 11/20/2014 3:10 PM, "Ola Fosheim Grøstad" 
<ola.fosheim.grostad+dlang at gmail.com>" wrote:
> On Thursday, 20 November 2014 at 22:47:27 UTC, Walter Bright wrote:
>> On 11/20/2014 1:55 PM, deadalnix wrote:
>>> All of this is beautiful until you try to implement a quicksort
>>> in, haskell.
>
> […]
>
>> Monads!
>
> I think Deadalnix meant that you cannot do in-place quicksort easily in Haskell.

That's correct.

> Non-mutating quicksort is easy, no need for monads:
>
> quicksort []     = []
> quicksort (p:xs) = (quicksort lesser) ++ [p] ++ (quicksort greater)
>      where
>          lesser  = filter (< p) xs
>          greater = filter (>= p) xs
>
> https://www.haskell.org/haskellwiki/Introduction#Quicksort_in_Haskell

Except that isn't really quicksort. Monads are the workaround functional 
languages use to deal with things that need mutation.



More information about the Digitalmars-d mailing list