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

Haskell is

Name: Anonymous 2008-06-17 17:37

the white man's burden of programming languages.

Name: Anonymous 2008-06-21 19:51

>>80
Ohh, nice example.

Name: Anonymous 2008-06-21 19:55

>>79
Lots of people understand it. The people that don't are too busy thinking there's more to it when there is not.

Name: Anonymous 2008-06-21 20:13

One of the best pieces of text about Monads? Sure:

http://book.realworldhaskell.org/beta/monads.html

Name: Anonymous 2008-06-21 21:55

>>74
A monad is a monad whatever you call the bind etc functions.

>>76
Either because your language has to pay for being lazy or because you want to abstract control flow and state (Maybe is C's && on steroids, List is map on steroids etc).

Also http://groups.google.com/group/comp.lang.functional/msg/2fde5545c6657c81

Name: Anonymous 2008-06-21 21:57

putStr $ cycle "MONADS EVERY-FUCKING-WHERE!!! FUCKING GET ME OUT OF HERE!!! SHITFUCKCUNTFAGGOTBITCHAAAAAARGH "

Name: Anonymous 2008-06-22 0:16

>>84
Try implementing the State monad or Parsec in Javascript ... then realise they are not monads because Javascript doesn't have polymorphism so one can't generalise the bindM and returnM functions. That's what monads are all about.
A monad is a monad whatever you call the bind etc functions.
You seem to be confused.

Name: Anonymous 2008-06-22 0:57

Javascript doesn't have polymorphism
You obviously don't know Javascript.

Name: Anonymous 2008-06-22 4:31

Thank you, /prog/, I didn't know that you could be so helpful ;_;

Name: Anonymous 2008-06-22 8:08

>>86
Whether you overload one name or give them all another name is irrelevant, certainly not ``what monads are all about''.

>>87
I think he meant type inference.

Name: Anonymous 2008-06-22 10:10

Re: Javascript

Don't forget about the JavaScript Haskell interpreter.

Name: Anonymous 2008-06-22 10:14

I'm going to read my Closing Time now. Then, after ten hours, I will try approaching the monads again. It worked with some hard moments in the SICP.

Name: Anonymous 2008-06-22 12:02

>>89,84
The names don't have anything to do with it. The point is it's hard to have polymorphic (e.g. overloaded) functions in JavaScript, and using objects to do it (overriding) is messy and ugly imo (I've tried it--but if you've had success, I'd like to see). And this is just an example to demonstrate that monads aren't monads without type classes or generic functions or some other polymorphic function facility to generalise the computation.

I might as well end this discussion here because I am arguing from repetition.

Name: Anonymous 2008-06-22 13:52

Name: Anonymous 2008-06-22 15:53

>>93
What about it?

Name: Anonymous 2008-06-22 16:50

Yet Another Haskell Troll

Name: Anonymous 2008-06-22 17:19

>>94
anything haskell can do, javascript can do better.

Name: Anonymous 2008-06-22 18:45

>>96
Except trolling.

Name: Anonymous 2008-06-22 18:57

>>96
Not lazy evaluation, nor have superior type and data polymorphism.

Name: Anonymous 2008-06-22 19:31

For haskell to do what JS can do it takes 100kloc+ of haskell to pull off and by the time you do lazy eval fills your memory up with so much shit that your computer or the process crashes.

Name: Anonymous 2008-06-22 19:35

>>98
OH NO HE DIDN'T! Are you gonna let >>99 get away with saying shit like that?

Name: Anonymous 2008-06-22 19:47

>>99
Good thing those lines are all in the compiler.

Name: 84,86 2008-06-22 20:44

>>Christopher
Which kind of polymorphism do you mean? I thought you meant it in the way that >>= can refer to different functions depending on which monad is inferred. This is what I attacked in my previous posts, whether the bind for List and Maybe are both called >>= or list>>= and maybe>>= is irrelevant. If you mean parametric polymorphism, Jabbascript has no problem with it because it does not have a fascist type system:
> function id(x) { return x; }
id(1)
1
id("lol")
"lol"

Name: Anonymous 2008-06-22 20:52

>>102
Haskell has an id function. Enjoy your lonely life as a troll.

Name: Anonymous 2008-06-22 20:59

>>102
I think he means that Javascript would allow something like aList.bind(putStr("Christopher")), so you would have to do typecheck the argument of bind by hand to make sure you're not binding monads of different kinds. Or maybe he doesn't mean that, the fuck do I know?

Name: >>104 2008-06-22 21:01

I meant aList.bind(putStr).

Name: Anonymous 2008-06-22 21:02

>>104
yes

Name: Anonymous 2008-06-22 21:35

>>103
Nobody was talking about Haskell's id function. Stop trolling yourself.

>>104,106
Javascript doesn't do that kind of typechecking. I don't see the problem, nor how that relates to monads and polymorphism.

Name: Anonymous 2008-06-22 22:12

>>107
I'm not sure I understand either, but seems to me that the problem would be the mixing of monads, like binding a function that returns a State monad to an IO monad, or something. But then you'd just get a runtime error instead of a compilation error. Yeah, I don't know.

Name: Anonymous 2008-06-22 22:20

I heard in javascript that lists are heterogeneous.

I heard in javascript there was this MAGIC called eval

I heard in javascript ....

repeat

Name: Anonymous 2008-06-22 22:22

js isn't useful without a DOM to traverse.

Name: Anonymous 2008-06-22 22:24

>>110
Haskell isn't useful without an AST to traverse.

Name: Anonymous 2008-06-22 22:26

Javascript == Lisp

Name: Anonymous 2008-06-22 22:30

>>112
Scheme is a variant of Javascript.

Name: Anonymous 2008-06-22 22:32

The implementation of Javascript began in Fall 1958. The original idea was to produce a compiler, but this was considered a major undertaking, and we needed some experimenting in order to get good conventions for subroutine linking, stack handling and erasure. Therefore, we started by hand-compiling various functions into assembly language and writing subroutines to provide a Javascript "environment". These included programs to read and print list structure. I can't now remember whether the decision to use parenthesized list notation as the external form of Javascript data was made then or whether it had already been used in discussing the paper differentiation program.

Name: Anonymous 2008-06-22 23:04

javascript is just lisp with non-shitty syntax.

Name: Anonymous 2008-06-23 1:43

>>115
You've got JavaScript confused with Factor.

Name: Anonymous 2008-06-23 2:41

>>116
I lol'd for reasons inexplicable to me.

Name: Anonymous 2008-06-23 2:56

>>117
Probably because you are (or because you are not) a stackrobat.

Name: Anonymous 2008-06-23 10:00

>>118
5 pick over rot swap over -rot tuck nip -2rot -2swap
Where's the lady. find the lady, eyes on the lady, where's the lady...

Name: Anonymous 2008-06-23 17:26

Haskell question:
Where can I find some problems to solve in Haskell? I'd enjoy testing my knowledge by doing some exercises, from ridiculously easy to terribly hard.

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