| > Learn Haskell properly and then see for yourself why "hybrids" are a waste of time. /rant Getting tired of puritans. You people are selling functional programming on the basis of "ideology", not merits. Can the following be done in Haskell ? * A Real Operating System. * GPU programming. * Embedded programming. * If you can do all the above, can you replace Verilog ? * Financial Programming. Ocaml is one of the "hybrids". Genetically impure,
since it has "refs". But they have Jane Street.
* Games worth playing. assertion : If all the haskell programmers are put in
a gulag, they can't come up with a half-decent
game.
Nintendo Gameboy Games were written in assembly with
goto's.
Why don't you guys take a moment and pat yourselves on
the back ? Hypocrisy-2.0 is probably in the hackage.
Let's say you do all the above, GUI apps, distributed computing, <cool-buzz-word> ... without complains and ending up as a half-decent C++ or 1/10th lisp.Haskell syntax is garbage. (Common Lisp has a goto, gee what were they thinking ?) Mathematicians pride themselves in their rich history of syntax. Haskellers actually type "Arrow". "I do consider assignment statements and pointer variables to be among computer science's most valuable treasures." -- Only an Idiot could say that. |
I don't know anything about the state of GPU programming in Haskell, so I'm not going to speak to that.
Regarding embedded, GHC can target some quasi-embedded platforms these days, but it's also possible to write embedded programs in (pardon the overloading) an embedded DSL that can compile to C. Check out the Atom library.
I've heard about some people doing hardware synthesis involving (again) embedded DSLs in Haskell - I don't really know the state of it, but IIRC Conal Elliot gave a talk on some related stuff at one of the Bay Area Haskell meetups.
Jane Street is doing a lot of O'Caml stuff, and that's awesome, but there's definitely a lot of Haskell in finance these days as well (I've seen several job postings, and heard some chatter generally). I don't know which is better represented, or how it compares to other stuff - most big finance places don't talk about what they're doing inside.
Oh, and Haskellers actually type "Arrow" when they're working with a particular generalization of functions. When they're actually working with functions, they type ->.