We can do functional programming on Java. We use all the design patterns for that.
At the very end, everything is just some noisy, hairy, side-effectfull, gotofull machinery code.
The beauty of Haskell is that it allows you to limit the things you need to reason about. If I see a function with the type "(a, b) -> a" I don't need to read a man page to see where I should use it or not. I know what it can do by its type. In C I can not do this. What can I say about a function "int foo(char* bar)"? Does it allocate memory? Does it asks a number for the user on stdin? Or does it returns the length of a zero-ending char sequence? In fact it can do anything, and I can't forbid that. I can't guarantee that my function has good behaviour. You need to trust the man page.
On 28/12/2011 23:56, Bernie Pope wrote:
On 29 December 2011 10:51, Steve Horne<sh006d3592@blueyonder.co.uk> wrote:Oops - sorry about that.
As Simon Baron-Cohen says in "Tackling the Awkward Squad"...I think you've mixed up your Simons; that should be Simon Peyton Jones.
FWIW - I'm diagnosed Aspergers. SBC diagnosed me back in 2001, shortly after 9/1/1.
Yes, I *am* pedantic - which doesn't always mean right, of course.
Not relevant, but what the hell.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe