[Haskell-cafe] Re: [Haskell] Math behind Haskell

Andrzej Jaworski himself at poczta.nom.pl
Mon Sep 24 10:12:41 EDT 2007


Tomas Caithaml wrote:
> Hi all.
>
> When I was playing with Haskell and reading stuff about it, I noticed
> that there is a lot of information in a form of research papers and a
> lot of mathematics involved. I must confess that I quite like this
> academic approach.
>
> Well, I thought that while I am still at university I could take some
> math classes to help me better understand these things and
> broaden my horizon.
>
> Any suggestion what could be relevant?
>
> I came up with:
>
>  * Lambda calculus - the basis of functional languages
>
>  * Category theory - where all these mysterious things like monads,
> arrows, and functors come from.
>
>  * Topology (?) - don't know; I thought it is important rather in
> mathematical analysis (which I don't like much) but I have seen
> somewhere some references to it in context of CS.
>
> Any other suggestions?

All the advice you got was good but I will add: never go after one thing in
mathematics before you really know what you are doing. Topology is probably best
intellectually but must be combined with functional analysis or algebra to have
something to experiment with. Similarly category theory alone will never teach
you to think mathematically - to build models.

For CS inclined entering into logic study is today a very rewording experiance
but you must feel confident with CT for reading modern proof theory and
additionally operator algebra entering into linear logic. The reward: you get
closer to functional programming or quantum mechanics without even knowing
that:-)

Digging in Haskell can make you fluent in writing some computational stuff to
experiment with, but it will most certainly follow thought experiment not vice
versa. Relying on such hybrid thinking too much can be harmful though. A
mathematician follows intuition, ideally he should not even plan what he will do
before he spots something that will drive his attention. Programming is the
opposite - planning lies at the heart of it. Even languages that fancy
mathematical concepts belong still to technology and thechnology is to eliminate
problems and not to investigate them.

Mathematics and logic will definitelly influence CS more with each decade untill
it becomes a science like phisics. However how shellow this science still is in
CS today demonstrate the havoc with multicore, where linguistics, model theory,
tamplet programming, object programming, Haskell(?) compete head in head to
cover the bare ass...

Cheers,
-Andrzej Jaworski

Moving to Haskell Cafe <haskell-cafe at haskell.org>




More information about the Haskell-Cafe mailing list