News for hackers. Stuff that matters.
Re:Haskell Beats C Using Generalized Stream Fusion [pdf] by plinkplonk on Sunday April 07, 2013 @12:56PM (#5507782)
having side effects and having lazy evaluation are distinct features though. One can conceive of a strictly evaluated haskell-like which isolates side effects in monads and is still largely composed of pure functions.
Re:Haskell Beats C Using Generalized Stream Fusion [pdf] by ufo on Sunday April 07, 2013 @05:51PM (#5508922)
> having side effects and having lazy evaluation are distinct features though

Fair enough, but lazyness also plays nicer with things like `if` and `&&` that comput things lazily. (Without lazyness you need to add lots of wrapper anonymous functions).

Another thins is that, from a hystorical point of view, the only reason Haskell managed to be so pure in the first place was the lazyness. If your language is not lazy its very tempting to add sideeffects.

Re:Haskell Beats C Using Generalized Stream Fusion [pdf] by tome on Sunday April 07, 2013 @03:05PM (#5508245)
One can conceive of it, and yet it's never been done. Curious.
Re:Haskell Beats C Using Generalized Stream Fusion [pdf] by colanderman on Sunday April 07, 2013 @03:41PM (#5508390)
Yes it has. Mercury is a perfect example of a purely functional language which is not lazy. I/O is made functional via a uniqueness typing system.
Re:Haskell Beats C Using Generalized Stream Fusion [pdf] by tome on Sunday April 07, 2013 @03:47PM (#5508434)
Right, so it uses uniqueness typing and not monads presumably.
Re:Haskell Beats C Using Generalized Stream Fusion [pdf] by nilkn on Sunday April 07, 2013 @03:15PM (#5508281)
There is Idris: http://idris-lang.org/

It seems similar to what plinkplonk is talking about.

Re:Haskell Beats C Using Generalized Stream Fusion [pdf] by tome on Sunday April 07, 2013 @03:41PM (#5508394)
Hmm, I always thought of Idris, Coq and Agda as proof assistants rather than programming languages, but perhaps that's just me being unimaginative.
Re:Haskell Beats C Using Generalized Stream Fusion [pdf] by cyrus_ on Sunday April 07, 2013 @04:35PM (#5508643)
Idris is explicitly billed as a programming language. You can do pretty sophisticated programming in Coq too (Coq can be reasonably straightforwardly compiled down to Ocaml, Haskell and some other languages.)
Re:Haskell Beats C Using Generalized Stream Fusion [pdf] by tome on Sunday April 07, 2013 @06:30PM (#5509037)
I'd better spend some time checking it out then!
Re:Haskell Beats C Using Generalized Stream Fusion [pdf] by gtani on Sunday April 07, 2013 @03:18PM (#5508287)
Re:Haskell Beats C Using Generalized Stream Fusion [pdf] by tome on Sunday April 07, 2013 @03:43PM (#5508406)
I'm not really sure how "pure" Disciple can be considered to be, and it doesn't use monads does it? Perhaps I'm being ignorant though.

Mu is a great example. I wish there was more information about it publically available.