Linked by Eugenia Loli on Wed 1st Nov 2006 02:49 UTC
General Development "The article is about my experience with Haskell and the process of working with it. I will describe which features of Haskell I used to implement particular aspects of my interpreter, how they're different from the object oriented world, why they helped me get things done faster, and how I had to change my program whenever my initial efforts took me to a dead end. While the jury's still out how well Haskell performs in other domains (I'm just starting my web application project) I hope this article sparks your interest in this beautiful language and explains some things programmers new to Haskell often find confusing." More here.
Thread beginning with comment 177512
To read all comments associated with this story, please click here.
Productivity with Haskell looks great...
by hashnet on Wed 1st Nov 2006 13:43 UTC
hashnet
Member since:
2005-11-15

...until you write significant amounts of code, to make a useful program.
Type inference works wonders, and I love the stricness and the safety of the language, but in the end, when you are calling a function you wrote months ago, the parameters you have to feed it are not that crisp in your head anymore.
Type inference is great on paper and makes for terseness, granted. However terseness is good for writing programs, not so much for reading code.
Mandatory parameter types serves as documentation.

This concern also stands fo Objective Caml (think of it as a more practical, not-so-pure Haskell)

I still think highly of this family of language, and I am sure some IDE that completes the functions names and shows the expected parameter types would alleviate the problem.

Java is practical (if inelegant) but I despise the barrage of typecasts needed to use collections and the like, even with the recently introduced generics.

My fallback for the development of large, robust software: ADA.

Reply Score: 4

B. Janssen Member since:
2006-10-11

hashnet: Type inference is great on paper and makes for terseness, granted. However terseness is good for writing programs, not so much for reading code.
Mandatory parameter types serves as documentation.


By any means, you should declare your types. The fun part is that Haskell actually does that for you. Load GHC in interpreter mode and enter :t myFunction, copy the type declaration and paste it into your source. Then, i really suggest that you use inline code and comment to your hearts content.

Reply Parent Score: 1

Morin Member since:
2005-12-31

> By any means, you should declare your types. The fun part is that
> Haskell actually does that for you. Load GHC in interpreter mode and
> enter :t myFunction, copy the type declaration and paste it into your
> source.

It would be nice if Haskell had more support. In something like Eclipse, you'd "generate type declaration" with two keys...

Reply Parent Score: 1

MollyC Member since:
2006-07-04

"I still think highly of this family of language, and I am sure some IDE that completes the functions names and shows the expected parameter types would alleviate the problem."

You might want to check out F# with MSVS.
http://research.microsoft.com/fsharp/fsharp.aspx

Reply Parent Score: 1