Live data from Hacker News

Becoming Productive in Haskell

mechanical-elephant.com

31–40 of 213 posts

Re: Becoming Productive in Haskell

#31
post #9

I don't think I have ever used a haskell program written by someone else that wasn't ghc. Is that usual? Are there now a bunch of .debs for useful things other than writing haskell that are actually written in Haskell? I'm not trolling, it's just a good test of what something is useful for when it's been around a while is to ask "Well, what has it actually been used for?"

I've used Xmonad as my window manager for years. Recently I used pandoc to convert some Markdown files to LaTeX.

Re: Becoming Productive in Haskell

#32
excellent article, thanks.

it's comforting -for me- to see that almost everybody is going through the same phases while learning haskell. i believe that should say something to haskell community.

i've recently started learning haskell. it's been 25 days. (so says cabal) i was reading a book and struggling to build a web app. (why web app?) i was so close to quitting. later i decided this is not the way to learn haskell. one simply does not read the book and try stuff. that was not enough. at least for me. so i changed my method.

my new method of learning haskell is:

- read the book.

- find one or more mentors (i have two) that are really good at haskell and can answer all kinds of impatient questions you have.

- watch people doing and explaining haskell stuff.

- join #haskell-beginners on freenode and ask your questions.

- create something small first that you can turn into something big later.

online haskell resources are surprisingly deficient however #haskell-beginners community is awesome when it comes to helping n00bs like me and "learn you a haskell" book is an excellent book.

one more resource that i use as reference material is the "haskell from scratch" [0] screencast series by chris forno (@jekor).

before you begin, make sure you checkout chris allen's (@bitemyapp) "learn haskell" [1] guide.

we'll get there people, we'll get there. :)

[0] https://www.youtube.com/playlist?list=PLxj9UAX4Em-Ij4TKwKvo-...

[1] https://github.com/bitemyapp/learnhaskell

Re: Becoming Productive in Haskell

#33
post #30

Scripting languages try to seduce you to just fiddle around until the output looks like something you want. While that quickly gives you some results, I think it's a huge roadblock in the mid- to longterm. Especially when programmers are only familiar with "easy" scripting languages, there are rarely insights about the general approach to the problem until the project already grew to become an abomination. While fidd…

IIRC, the Show class is supposed to be the reverse of the Read class -- so you should not use it to pretty print stuff.

It's not a pretty-printer. It's fine for printing stuff when you don't care what it looks like most of the time. Pretty printing is a vague term though. There are certainly many ways to pretty-print in Haskell, some of which are bi-directional pretty-printers/parsers.

Re: Becoming Productive in Haskell

#34

Scripting languages try to seduce you to just fiddle around until the output looks like something you want. While that quickly gives you some results, I think it's a huge roadblock in the mid- to longterm. Especially when programmers are only familiar with "easy" scripting languages, there are rarely insights about the general approach to the problem until the project already grew to become an abomination. While fidd…

And what makes the model of haskell any more superior to models developed in any other field like accounting, physics or chemistry ?

I am sorry, haskell is just a huge roadblock to get things done in the real world.

In the real world proffesional need to juggle all sorts of models. Haskell just says "Fcuk you ! its my way or the gonadway !".

I need to juggle between json, matrix, html, etc. Each of them have hundreds of expections.

You can say my model is imperfect but guess what buddy, every model is. The only models that will work for all cases is prolly einstein's equations but even that has exceptions when dealing with blackholes !

I tried writing a music library in haskell and haskell makes it really hard to create rules that are expections to the model. Apparently the models developed by 1000s years of music theory is not good enough for haskell !

I cannot even image what it must to be code chemical rules using hakell that have hundreds of expections, or biologial models ! Oh My !

I am sorry haskell just gets makes computation much more difficult. Apparently mutation is a crime even though god himself thought it was okay as a rule for everything in the universe.

my anecdotal experience.

((

btw i really like the concepts in haskell. I read two of its famous books - LYAGH and RWH. And use all haskell concepts almost daily in production. However the implementation of haskell is not really ready for production or useful enough for the average developer. Its also not easy for the average developer to put food on the table using haskell

))

Re: Becoming Productive in Haskell

#35
post #7

Nice article. I find FP incredibly elegant and I'd like to learn Haskell, but every time I search, there are never any jobs in it, so it seems like Scala is the better choice for where I live... Speaking of which, I found "Functional Programming in Scala" excellent for teaching someone with an imperative background how to "think functionally". Monads are explained in an easy to understand way. I can imagine that with…

We used functionaljobs.com for hiring our very latest Haskell developer (ex Scala guy) at Front Row, check it out, it should at the very have a few interesting openings on it.

Also, companies actively using and recruiting for Haskell are now starting to join the Commercial Haskell SIG, so if you want to poke around, you can find them here: https://github.com/commercialhaskell/commercialhaskell#readm...

Re: Becoming Productive in Haskell

#36
post #9

I don't think I have ever used a haskell program written by someone else that wasn't ghc. Is that usual? Are there now a bunch of .debs for useful things other than writing haskell that are actually written in Haskell? I'm not trolling, it's just a good test of what something is useful for when it's been around a while is to ask "Well, what has it actually been used for?"

A few of those will likely be server-side and not on your personal machine, but they're out there.

Re: Becoming Productive in Haskell

#37
post #30

Scripting languages try to seduce you to just fiddle around until the output looks like something you want. While that quickly gives you some results, I think it's a huge roadblock in the mid- to longterm. Especially when programmers are only familiar with "easy" scripting languages, there are rarely insights about the general approach to the problem until the project already grew to become an abomination. While fidd…

IIRC, the Show class is supposed to be the reverse of the Read class -- so you should not use it to pretty print stuff.

Yeah, technically I agree.

But I must confess, I used it in the past to have a convenient way to print out something like: 'Add "x" "y"' as "x + y". I didn't care about using read to turn it back into the internal representation since expression parsing is kind of difficult. I used Parsec instead. So I had show to output and a parser as the inverse.

Re: Becoming Productive in Haskell

#38
post #9

I don't think I have ever used a haskell program written by someone else that wasn't ghc. Is that usual? Are there now a bunch of .debs for useful things other than writing haskell that are actually written in Haskell? I'm not trolling, it's just a good test of what something is useful for when it's been around a while is to ask "Well, what has it actually been used for?"

Pandoc - lets you convert documents from/to many different formats - http://pandoc.org

Re: Becoming Productive in Haskell

#39

Scripting languages try to seduce you to just fiddle around until the output looks like something you want. While that quickly gives you some results, I think it's a huge roadblock in the mid- to longterm. Especially when programmers are only familiar with "easy" scripting languages, there are rarely insights about the general approach to the problem until the project already grew to become an abomination. While fidd…

And what makes the model of haskell any more superior to models developed in any other field like accounting, physics or chemistry ? I am sorry, haskell is just a huge roadblock to get things done in the real world. In the real world proffesional need to juggle all sorts of models. Haskell just says "Fcuk you ! its my way or the gonadway !". I need to juggle between json, matrix, html, etc. Each of them have hundreds…

You have two flaws to your argument that are non-technical.

1) You try a straw man argument (Your failed project in place of the presented argument) We aren't talking about music models https://yourlogicalfallacyis.com/strawman

2) Anecdotal definition - not necessarily true or reliable, because based on personal accounts rather than facts or research.

I have found out that whenever I complain about a language someone will always have an answer that I thought was unanswerable.

Re: Becoming Productive in Haskell

#40
post #9

I don't think I have ever used a haskell program written by someone else that wasn't ghc. Is that usual? Are there now a bunch of .debs for useful things other than writing haskell that are actually written in Haskell? I'm not trolling, it's just a good test of what something is useful for when it's been around a while is to ask "Well, what has it actually been used for?"

The Haskell wiki has a page called "Haskell in industry" [0] which lists all the people using Haskell in the real-world.

Some notable ones include:

* Facebook Haxl, an abstraction around remote data access [1]

* Microsoft Bond, a cross-platform framework for working with schematized data [2]

* Google Ganeti, a cluster virtual server management tool [3]

* Intel Haskell research compiler, a custom Haskell compiler used internally at Intel Labs [4]

---

[0]: https://wiki.haskell.org/Haskell_in_industry

[1]: https://code.facebook.com/projects/854888367872565/haxl/

[2]: https://github.com/Microsoft/bond

[3]: https://code.google.com/p/ganeti/

[4]: http://www.leafpetersen.com/leaf/publications/hs2013/hrc-pap...

Post reply on HN