# my impression of The Haskell Road To Logic, Maths And Programming

[07:23] [metaperl] The Haskell Road To Logic, Maths And Programming has a very seductive intro and table of contents... I am starting to realize that I am going nowhere in Haskell unless I learn to thi\

nk and know functions well... humbling after 5 years as a well-paid Perl programmer

[07:23] [RemiTurk] false = \x y -> y

[07:23] [RemiTurk] if = id

[07:24] [RemiTurk] not = flip

[07:24] [shapr] metaperl: I realize I'm not learning much if I don't get humbled on a regular basis.

[07:24] [xerox] metaperl: I am reading it too!

[07:24] [metaperl] xerox, do you like it?

[07:24] [xerox] metaperl: I'm just at page 28, good so far.

[07:25] [shapr] http://lambda-the-ultimate.org/ is one good place to find humbleness. I also like to put forth my ideas in my blog and here on #haskell and ask people to poke holes. That mostly works.

[07:27] [xerox] metaperl: do you like it?

[07:27] [metaperl] I'm thinking about buying it

[07:28] [shapr] Isn't it free online?

[07:28] [metaperl] I think you are just playing with air until you lock in a rigourous command of logic and functions. And this book doesnt play around... it takes you right to the foundation and build\

s you up from there

[07:28] [metaperl] the first chapter and toc is

[07:28] [metaperl] all the other books give you a chance to fool yourself about knowing haskell --- not this one

[07:28] [metaperl] this book puts logic first and the language second

[07:28] [xerox] shapr: no it isn't :\

[07:29] [metaperl] all the others put the language first and hope you can build the logical reasoning... and it wont happen

[07:29] [shapr] Strange, I wonder where I got my ps.gz copy.

[07:29] [xerox] Its first example is a prime number test, it first prove to you some things -mathematecally- then implement it in Haskell, err, rewrites the proofs in Haskell :D

[07:30] [xerox] shapr: hm, it could be really.

[07:30] [xerox] http://homepages.cwi.nl/~jve/HR/

terry@Abulafia:~/public_html/tmp$

- metaperl's blog
- Login to post comments

Haskell is little more than the lambda calculus, and lambda calculus is one of the most accepted foundations of almost any language. For example, denotational semantics is expressed in the lambda calculus. You can program in Haskell without knowing this stuff just as you can in Perl, but knowing this stuff will benefit your Perl just as it will your Haskell. Haskell is much closer to a lambda-calculus foundation in both fundamental and superficial ways, so, in Haskell, it's much easier to see how such things are relevant.

[07:29] [xerox] Its first example is a prime number test, it first prove to you some things -mathematecally- then implement it in Haskell, err, rewrites the proofs in Haskell :D

xerox has (unwittingly?) stumbled upon the Curry-Howard isomorphism. The Curry-Howard isomorphism is well worth learning for just about any programmer. *puts down C H pom-poms*

What I really meant is that the book explains things in this "unconventional" way, and I really liked it.

Proving instead of guessing/arguing something is basically how I feel Haskell programming is, we had a discussion the other day about it, let me report some:

[basti_] i think you ALWAYS need to know what youre doing before you do it

[shapr] basti_: that's a brilliant observation.

[xerox] basti_: knowing what you're doing before doing it is what Haskell needs, but I have to say my programming experience before it was mainly in dynamic languages - I tried and adapted the code, *while* understanding the problem, using the "REPL" as you can use the calculator.. I mean, the language helped me finding some details faster than thinking about it.

[basti_] xerox: i said that half in joke. I know most people program in different ways.

[basti_] xerox: i favour the "interactive" approach too.

[basti_] but i still think its a good thing that in haskell you need to understand what youre doing or you write rubbish

[xerox] basti_: altrought learning Haskell is *very much* worth it, trying implementing some ideas in Haskell could be very helpful/interesting.

[sylvan] functional programming is way better suited for interactive development.. no state to "simulate" in order to test some small part

[basti_] sylvan: right.

[xerox] sylvan: I find something like Scheme "better suited", having the possiblity to draw-back to imperative very fast it's usually handy.

[xerox] ...but maybe it's just me having problems because my little comprehension of Haskell. :)

[stepcutHM] xerox: epigram has some interesting ideas on interactive development (but, unfortunately, is still just a 'toy' language)

[basti_] epigram is...

[basti_] ...

[basti_] it IS.

By the way, I think there are many things to say about this.

Curry-Howard pom-poms?!?Gosh, let me know where to get them and I'll link them in at the Haskell merchandise site :) :) . (Hmm, I can see them with these as part of an ensemble outfit ... .)