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 <[EMAIL PROTECTED]> _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell