Live data from Hacker News

How I Start: Haskell

howistart.org

51–60 of 61 posts

Re: How I Start: Haskell

#51
post #50

Earlier quoted context omitted.

And wrt syntx sugar for hlists and vinyl, there's some somestuff I hope to get into the merge window for ghc this week that might make that much nicer to work with. I hope.

Yay!

well,try out the hcons/hnil stuff in https://github.com/cartazio/HetList/blob/master/HetList.hs and give me feedback asap so I can somehow wing getting it under consideration later this week. merge window for big stuff is FRIDAY

Re: How I Start: Haskell

#52

Earlier quoted context omitted.

Yes, I found the Data Analysis cookbook very helpful as well. However, it really drove home to me the need for a dataframe/Pandas-like library in Haskell... About half the code in every one of his examples was reading a CSV file, parsing it into some ad-hoc data structure etc. For very robust production apps, that can be justifiable, but for just a quick look at some data, it should just be a one-liner...

Carter is working on a numerical stack for Haskell that should make writing a pandas-esque library in Haskell pretty easy. He can be found at https://twitter.com/cartazio and in the #numerical-haskell Freenode IRC channel.

of course that ignoring the fact that I kinda think people say "pandas" as a proxy for "i want a decent multi dimensional aggregation db thats a library for my language"... kinda thing. People say "data frame" but can mean a HUGE range of actual workloads

Re: How I Start: Haskell

#53
post #17

I like the How I Start serie.On the other hand,while I get that languages have their specificities,I'd like the same project to be implemented in all these languages,to be able to get a quick understanding about how working with these languages feels like. You know like a TodoMVC ,but in form of tutorial around the same project,a webapp for instance,which would require as little library as possible.

I'm the auhtor of the Erlang article on How I Start. I've felt the same in some ways because it would offer a nice comparison point, but the problem with this idea is that it doesn't let the authors pick a problem for which they think their tool shines. In a way, forcing the same problem on all authors is more or less risking telling them "you may have to use the wrong tool for this job, but please tell us how you'd…

Odd, I think I disagree with you because of the convenience to the author. Especially in regards to how things extend to other problems. Or any costs in building a solution.

Re: How I Start: Haskell

#54
This is a good series. Very few tutorial mention the dev environment setup.

It would be great if this can be complemented with a list of projects along with the unit/integration test cases (only description) that the end-system should pass along with a cloud deployment specification. There could be advanced section that encourages discovering edge cases.

When one wants to practice they can slowly climb the ladder to understand how to implement a system and gain expertise. I always find myself lacking in ideas on how to practice what I know. Practising the same set of data structures and algorithms is not very motivating.

Re: How I Start: Haskell

#55
post #43

Great article! As a programmer yet to have tried Haskell, this was actually one of the first articles I've read about Haskell which made sense to me. I tend to have a lot easier to learn from practical examples than the more academic approach normally seen in Haskell learning material and blog posts.

This is a common pedagogical problem with Haskell. We Haskell programmers are tempted to jump right into monads and functors and stuff, but the reality is that these (really very simple) concepts can't easily be taught by analogy. Often times the best way to learn is to slog through some examples.

Re: How I Start: Haskell

#56
post #41

Earlier quoted context omitted.

I have been learning a bit of Haskell on the side recently just for the thrill of learning something completely different to the way I'm used to writing code. My two cents so far is that using Haskell for "Real World" applications is not practical (at least in my experience), but by writing small applications in Haskell you learn a lot, it changes how you think. In my opinion, learning Haskell makes you a better prog…

>In my opinion, learning Haskell makes you a better programmer. No, it makes you a more dissatisfied programmer. Dissatisfied with how poor the tools in other ecosystems are. You can't take Haskell with you. Erik Meijer is wrong about this. You can't use monads productively in Python. You can try, but it doesn't work well. You need Haskell. Laziness, FP, immutability, types, the whole shebang. It all hangs together i…

> Dissatisfied with how poor the tools in other ecosystems are.

Don't pretend that the Haskell tool ecosystem is better than the others.

Does Haskell have a debugger which is as good and easy to use as the Chrome Developer Tools (JavaScript) or Visual Studio (C/C++/C#)? Is there a good editor (comparable to VS for C# or Eclipse/NetBeans for Java) with type-aware code completion? And don't tell me about cabal, that tool is much worse than package managers in other languages, the amount of time people waste with cabal is unbelievable.

Re: How I Start: Haskell

#57

Earlier quoted context omitted.

>In my opinion, learning Haskell makes you a better programmer. No, it makes you a more dissatisfied programmer. Dissatisfied with how poor the tools in other ecosystems are. You can't take Haskell with you. Erik Meijer is wrong about this. You can't use monads productively in Python. You can try, but it doesn't work well. You need Haskell. Laziness, FP, immutability, types, the whole shebang. It all hangs together i…

> Dissatisfied with how poor the tools in other ecosystems are. Don't pretend that the Haskell tool ecosystem is better than the others. Does Haskell have a debugger which is as good and easy to use as the Chrome Developer Tools (JavaScript) or Visual Studio (C/C++/C#)? Is there a good editor (comparable to VS for C# or Eclipse/NetBeans for Java) with type-aware code completion? And don't tell me about cabal, that to…

Of course not.

(I'm also starting to believe that these "Haskell is the best thing ever"-kids will become a bigger issue than all those "Haskell is not practical"-naysayers for the growth and success of Haskell.

The latter is annoying, but can cause people to sit down and think how working with Haskell can be made more straight-forward, while the former is blinded by his ideology and is hostile against improvements which could be seen as acknowledgements of existing flaws in the language/ecosystem.)

Re: How I Start: Haskell

#58

Earlier quoted context omitted.

>In my opinion, learning Haskell makes you a better programmer. No, it makes you a more dissatisfied programmer. Dissatisfied with how poor the tools in other ecosystems are. You can't take Haskell with you. Erik Meijer is wrong about this. You can't use monads productively in Python. You can try, but it doesn't work well. You need Haskell. Laziness, FP, immutability, types, the whole shebang. It all hangs together i…

> No, it makes you a more dissatisfied programmer. Maybe it makes you a more dissatistfied programmer. > You can't take Haskell with you. Erik Meijer is wrong about this. You can't use monads productively in Python. You can try, but it doesn't work well. Can you explain why? Because its my experience that monads, once you understand them even a little bit, open up a way of thinking about and addressing problems that…

> Can you explain why? Because its my experience that monads, once you understand them even a little bit, open up a way of thinking about and addressing problems that can be productively used in most programming languages (Python certainly included).

I talked about part of the answer to this question at the New York Haskell Meetup awhile back.

http://vimeo.com/59215336

Re: How I Start: Haskell

#59

Earlier quoted context omitted.

> No, it makes you a more dissatisfied programmer. Maybe it makes you a more dissatistfied programmer. > You can't take Haskell with you. Erik Meijer is wrong about this. You can't use monads productively in Python. You can try, but it doesn't work well. Can you explain why? Because its my experience that monads, once you understand them even a little bit, open up a way of thinking about and addressing problems that…

> Can you explain why? Because its my experience that monads, once you understand them even a little bit, open up a way of thinking about and addressing problems that can be productively used in most programming languages (Python certainly included). I talked about part of the answer to this question at the New York Haskell Meetup awhile back. http://vimeo.com/59215336

The criticism there doesn't seem to be about why static typing is particularly a bar to productive use of monads, just the general criticism that dynamic languages lack type safety, and so limit you to monadic operations without the safety of static languages. It also makes the mistake of asserting that, because dynamic languages lack enforced types, the definition of a monad is different in those languages is different. But the definition of a monad is the same -- and includes the Monad Laws as well as the signatures of the bind and return (or fmap and join) functions -- independent of language. And the monad laws -- which even Haskell can't enforce for user-defined monads -- are just as important to correct monad use as the type signatures of the bind/return functions. Enforcement of essential properties is useful, but its not essential to productive use as the use of Monads in Haskell itself demonstrates.

Its manifestly clear that productive programming without type safety is possible, and I don't see anything there that distinguishes why that would be less true with monads.

Re: How I Start: Haskell

#60

Earlier quoted context omitted.

> Dissatisfied with how poor the tools in other ecosystems are. Don't pretend that the Haskell tool ecosystem is better than the others. Does Haskell have a debugger which is as good and easy to use as the Chrome Developer Tools (JavaScript) or Visual Studio (C/C++/C#)? Is there a good editor (comparable to VS for C# or Eclipse/NetBeans for Java) with type-aware code completion? And don't tell me about cabal, that to…

Of course not. (I'm also starting to believe that these "Haskell is the best thing ever"-kids will become a bigger issue than all those "Haskell is not practical"-naysayers for the growth and success of Haskell. The latter is annoying, but can cause people to sit down and think how working with Haskell can be made more straight-forward, while the former is blinded by his ideology and is hostile against improvements w…

Haskell isn't the best at everything, but it is practical and that's my point.

Asserting that something is practical based on...well...practical experience is not ideology. It's damn near the opposite.

Post reply on HN