Friedrich wrote:
"Brandon S. Allbery KF8NH" <allbery@ece.cmu.edu> writes:
On 2008 Oct 19, at 2:26, Friedrich wrote:
Paul Johnson <paul@cogito.org.uk> writes:
(By the way, putting in the top level type declarations helps a lot when you make a mistake.) Well I have my problems with that. Probably it comes from using Languages like Ruby and my special dislike of "typing things" comes especially from Java, C++ (well C is not "innocent" in that regard also.
Learn to love types: one of the neat things about Haskell is that if you can write down the type of a function then you have usually done 90% of the work of writing the code for it. Well I disagree. But that's another story.
Another is that in general, if you can't express the type of a function, it means you haven't thought through what you're trying to do.
No that's not true. The use implies that. However I'm not advice resistant and will see if I use types. But IMHO that's should be job of the environment to figure out correctly and most of the time Haskell does "guess" right. And I surely can ask for the types.
It's true for people who use Haskell a lot. The reason is that Haskell types are fundamentally different from types in C (and related). I think it has to do with how you reason about a program's behavior. A well-designed Haskell program has types that are extremely well-suited to the problem domain, and as such the type often encapsulates everything you need to know about the function. John Lato