

Haskell features I'd like to see in other languages - gtani
http://intoverflow.wordpress.com/2010/06/30/haskell-features-id-like-to-see-in-other-languages/

======
bad_user
Wow ... I just saw type-safe macros / quasi-quoting.

It seems that Haskell is the language I've been searching for all my life :-)
... unfortunately code written in it looks really scary.

I mean ... when I look at good Python / Ruby code, I just get what's going on
... that's partly because I know these languages, but on the other hand they
encourage programmers to do literary story-telling.

Maybe someday Haskell will get reinvented into some form meant for mere
mortals :)

~~~
danieldk
I'd say: just try it. After reading haskell-cafe for a day, I felt utterly
incapable of ever learning Haskell. I started picking up the language using
Real World Haskell (quite an acceptable book). I can read most programs now
and crafted some short programs. I still find predicting memory/time use under
a lazy-evaluation regime difficult. But it is certainly a nice experience ;)

~~~
gaius
The thing with RWH I found was, chapters 1-4 great, a nice introduction to the
language, and I did all the exercises without too much head-scratching. Then
chapter 5 is utterly incomprehensible. I didn't get any further.

OCaml, that's a nice language, with much better introductary materials.

~~~
gtani
Dont' give up:

[http://www.amazon.com/Programming-Haskell-Graham-
Hutton/dp/0...](http://www.amazon.com/Programming-Haskell-Graham-
Hutton/dp/0521692695/)

[http://stackoverflow.com/questions/1012573/how-to-learn-
hask...](http://stackoverflow.com/questions/1012573/how-to-learn-haskell)

<http://learnyouahaskell.com/>

------
edanm
As a non-Haskell programmer, I didn't understand almost any of the examples.
Some of them I understood, but didn't get what the feature is good for. Some
of them I just plain didn't get (Haskell's syntax is to different from what
I'm used to to easily understand what's going on).

I love the idea of this article, talking about specific features in your
language you'd like to see gain wider adoption. It's too bad I had trouble
understand what was going on.

~~~
intoverfl0w
(author here). This is good feedback. I definitely struggled with finding a
good way to describe what each of the features does. I'm considering writing a
sequence of followups, each focusing on a particular feature, trying to
describe how (say) Java code could be refactored to take advantage of the
feature.

I'd very much appreciate suggestions for things to address in such a series!
Any time I write something like this, I always learn a lot in the ensuing
discussions. Mostly I learn technical things, but it's good to learn more
about the writing process as well.

~~~
edanm
Here's where I think the article goes wrong.

Firstly, I'm not sure what audience you had in mind when you wrote this. If
it's Haskell programmer, then I think it's too detailed. If not, I think it's
not detailed enough (but it does include all sorts of words/concepts a non-
Haskell programmer won't understand).

I think a shorter article, focused on less features would have been better (or
a series of articles). It feels to me like you could talk in length about each
of these features, and the article is both too long because of so many
features, but too short in each specific feature.

Finally and most importantly, what you're really missing is code examples in
other languages. You mentioned doing this, and I agree 100%. That would make
your article much easier for someone like me. Although I vote the examples be
in Python :)

I'm looking forward to your next post!

~~~
eru
Or make up some pseudo-code-y language. I.e. this is how it could look like in
Java, if it included this awesome feature with some syntax I just made up for
it.

(I like Python more in general, but I am not sure, if you can demonstrate some
of the static goodness of Haskell-analogies in it. Polymorphism on return
types is awesome, but not real imaginable in Python, but barely imaginable in
Java.)

------
city41
I've had a casual relationship with functional languages for a while now. I've
decided to really get into one and chose F# as there is a possibility of using
it on the job. For the functional gurus, should I ignore that benefit and go
to what seems to be the holy grail of functional languages, Haskell?

~~~
dons
You work in a .NET environment, or have Windows lock-in? Otherwise, why not
use Haskell on the job, like others do:
<http://haskell.org/haskellwiki/Haskell_in_industry>

~~~
city41
I work in a .NET environment. I am learning F# in my spare time with hopes of
being able to write part of the app in F#. It may not be an entirely realistic
hope, but at least that hope is there with F#.

