
Hi The haskell-cafe@ mailing list is more appropriate for messages such as this. haskell@ is just for announcements (it should be called haskell-annouce@ !)
* Lambda calculus - the basis of functional languages
* Category theory - where all these mysterious things like monads, arrows, and functors come from.
I'd add: * Discrete Maths - booleans, relations, functions etc. * Type theory * Logic programming (Prolog) * Semantics Most of these are computer science courses, rather than maths ones. Thanks Neil

On 23/09/2007, Neil Mitchell
Hi
The haskell-cafe@ mailing list is more appropriate for messages such as this. haskell@ is just for announcements (it should be called haskell-annouce@ !)
* Lambda calculus - the basis of functional languages
* Category theory - where all these mysterious things like monads, arrows, and functors come from.
I'd add:
* Discrete Maths - booleans, relations, functions etc.
* Type theory
* Logic programming (Prolog)
* Semantics
Although it might technically be covered by "Discrete Maths", I'd like to add algebraic and enumerative combinatorics to the list. That is, the sort of mathematics where one deals with bijective decompositions of combinatorial structures and generating series (generating functions). The overall picture is that you put collections of discrete structures in correspondence with algebraic objects of some sort, typically the elements of a suitable ring, and make use of that correspondence to move results back and forth. I've found that a lot of the recent stuff like the theory of zippers and differentiation of data structures directly reflects the sort of combinatorial operations which go on in algebraic combinatorics. (See, for instance, "Combinatorial Enumeration", by Jackson and Goulden, or Joyal's combinatorial species.) No doubt there are more ideas which could be fruitfully imported from there.

On Sun, 2007-09-23 at 20:03 -0400, Cale Gibbard wrote:
On 23/09/2007, Neil Mitchell
wrote: Hi
The haskell-cafe@ mailing list is more appropriate for messages such as this. haskell@ is just for announcements (it should be called haskell-annouce@ !)
* Lambda calculus - the basis of functional languages
* Category theory - where all these mysterious things like monads, arrows, and functors come from.
I'd add:
* Discrete Maths - booleans, relations, functions etc.
* Type theory
* Logic programming (Prolog)
* Semantics
Although it might technically be covered by "Discrete Maths", I'd like to add algebraic and enumerative combinatorics to the list. That is, the sort of mathematics where one deals with bijective decompositions of combinatorial structures and generating series (generating functions). The overall picture is that you put collections of discrete structures in correspondence with algebraic objects of some sort, typically the elements of a suitable ring, and make use of that correspondence to move results back and forth.
I've found that a lot of the recent stuff like the theory of zippers and differentiation of data structures directly reflects the sort of combinatorial operations which go on in algebraic combinatorics. (See, for instance, "Combinatorial Enumeration", by Jackson and Goulden, or Joyal's combinatorial species.) No doubt there are more ideas which could be fruitfully imported from there.
A few words by me on this general topic on LtU: http://lambda-the-ultimate.org/node/2342#comment-34980

I'm spending my Copious Free Time going through the Graham/Knuth/Patashnik _Concrete Mathematics_ textbook. This is the textbook used at one of Stanford's "on-beyond-calculus math for CS majors" classes. If nothing else, the discipline of doing the homework problems at the end of each chapter is good exercise for the little gray cells.
participants (4)
-
Cale Gibbard
-
Derek Elkins
-
Neil Mitchell
-
Seth Gordon