Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-

haskell

Name: Anonymous 2012-09-04 5:20

I keep hearing about how this is a great language and how it will enlighten you, but aside from xmonad, I have yet to see any useful l software produced in it.

I get that functional programming makes some things easier, but how come haskell has no real code in it?

Name: Anonymous 2012-09-04 5:27

Just use Lisp instead.

Name: Anonymous 2012-09-04 5:49

>>1
I get that functional programming makes some things easier, but how come haskell has no real code in it?
Because you haven't written anything in it yet.

Haskell is a typed lambda calculus, and so it can make many static optimizations at compile time like C or C++. But it's this typing that annoys functional programmers who are more used to their dynamic and duck typed languages.

IMO, it doesn't really get in your way that much, and the compiler can infer types often enough. It's more for when you're declaring multiple overloads of functions and using monads.

Haskell has pattern matching + multiple dispatch on types of arguments whereas your typical Lisp just has macros.

Haskell is the future, although I prefer Lisp syntax. Speaking of which, there are both Liskell and Lisk frontends for Haskell. Lisp syntax + Haskell semantics.

Name: Anonymous 2012-09-04 6:05

>>3
>It's more for when you're declaring multiple overloads of functions and using monads.
You don't need a type system to implement overloading.
In fact Haskell's HM-based typesystem got in the way of implenting it.
That's why we have Typeclasses in the first place.

And you don't need a Typesytem for using monads.
You can have them in Erlang, LISP, Python etc. too.
The only things you need are closures, HOFs and a way to syntactically express monads in a usable fashion.

The typesystem is more for encoding compiler checked invariants and general sanity checking of your code. It's quite amazing how many errors can be catched at compile time when one (ab)uses the typesystem accordingly. Hell with some GHC extensions it's even turing complete.
But a successfull typechek does not mean your code is correct.

Name: Anonymous 2012-09-04 6:36

>>3
Haskell has pattern matching + multiple dispatch on types of arguments

Clojure has both. It's wrong to say so confidently that Haskell is the future, as if the development of Lisp has completely halted. It evolves too, with Clojure being the current iteration.

Name: Anonymous 2012-09-04 8:42

ONE WORD THE FORCED CAMEL CASE THREAD OVER

Name: Anonymous 2012-09-04 10:56

>>5
Clojure is ass, a horrible LISP

Name: Anonymous 2012-09-04 11:42

>>7
Clojure is a beautiful modern lisp approved by Sussman. Go cry to your dog, haskalfag.

Name: Anonymous 2012-09-04 12:39

Clojure can't loeb.

Name: Anonymous 2012-09-04 12:46

Name: Anonymous 2012-09-04 12:58

Name: Anunsymous 2012-09-04 14:17

>>5
Haskell and LISP dialects are too obscure to be "future".
The next mainstream language will be that language the next big successful programms will be written in. LolEnterprise fags will hype the shit out of them and et voila we have a new Java/C#.
The actual quality of the language is irrelevant.

Name: Anonymous 2012-09-04 14:52

Functional Programming Doesn't Work
http://prog21.dadgum.com/54.html

Name: Anonymous 2012-09-04 15:01

>>13

Now pick the two lowest-level and most isolated functions in the entire codebase. They're used all over the place, but are never called from the same modules. Now make these dependent on each other: function A behaves differently depending on the number of times function B has been called and vice-versa.

stopped reading right there

Name: Anonymous 2012-09-04 17:22

>>14
Imagine you've implemented a large program in a purely functional way. All the data is properly threaded in and out of functions, and there are no truly destructive updates to speak of.
Go on
Now pick the two lowest-level and most isolated functions in the entire codebase. They're used all over the place, but are never called from the same modules.
Go ooon
Now make these dependent on each other: function A behaves differently depending on the number of times function B has been called and vice-versa.
Wait, what? I wrote a large program in a purely functional way but it isn't purely functional? Clearly the person who can actually achieve this is a genius and should be given infinite money for further R&D.

Name: Anonymous 2012-09-04 18:27

>>15
I think the mistake is that you can write a practical purely functional program at all. Such a program doesn't exist because it would mean no input or output from the computer system through the program.

Name: Anonymous 2012-09-04 20:03

HASKAL SOLUTION:
Buy a machine with 2 serial ports, put null modem between them.

Name: Anonymous 2012-09-04 21:40

>>16
Pitiful, just transform input to output.

Name: Anonymous 2012-09-04 23:41

U MENA HASKAL?

Don't change these.
Name: Email:
Entire Thread Thread List