Announcement
Our next meeting will be held in COE 796 aka. Paul Erdos room, on Wednesday 21st of April 2010 from 3:00 PM - 4:00 PM. The speaker is Dr. Michael Stewart. The title of his talk is "Haskell for Mathematical Programming".
Abstract:
We will give an informal introduction to the functional programming
language Haskell with an emphasis on features that might be of
interest to mathematicians. The key points are:
1. Haskell is functional. This means that most functions in Haskell
are functions in the ordinary mathematical sense. A function takes an
argument and returns a value that depends only on the value of
argument; it doesn't manipulate or depend on a mutable hidden state.
There is remarkable flexibility in manipulating and combining
functions.
2. Haskell is fast and interactive. The main implementation, the
Glasgow Haskell Compiler (ghc), has both a compiler and an
interpreter. Carefully written compiled code can be close to C in
speed. The interpreter allows interactive use like MATLAB.
3. Haskell has a flexible polymorphic type system with type inference.
Types are inferred and type errors are caught at compile-time without
the need for explicit annotation of types in the code. The
polymorphism means that functions can be applied to more than one
type. The multiplication operator "*" is as applicable to matrices,
or any other suitable user defined type, as it is to integers or
floating point numbers.
4. Haskell uses lazy evaluation of functions (by default). It does
not compute the value of any function unless the value is needed.
This allows the easy definition of conceptually infinite data
structures, e.g. the sequence of all primes. Such Haskell code often
ends up looking like a straight-forward transcription of mathematical
definitions.
Slides[HTML]
