Download this episode
Description
It's been far too long since we've had some meaty functional programming content on C9. Luckily, none other than Graham Hutton dropped off a present on our doorstep! Dr. Hutton graciously provided Channel 9 with his latest selffilmed lecture—thank you, Graham! We're honored. This is certainly a treat and we appreciate it. For all of you out there interested in FP, this one's for you, and it's from one of the functional domain's titans.
Graham's goal here is to share technical knowledge and insights that span programming domains and skill sets—an excellent goal and one that we at Channel 9 fully support!
Enjoy. Learn!
From Dr. Hutton:
Streams, or infinite sequences, have many applications in programming, and can naturally be defined using recursive equations. But how do we ensure that such equations make sense, i.e. that they actually produce welldefined streams? In this talk, Graham Hutton presents a new approach to this problem, based upon the topological notion of contractive functions on streams. This talk is aimed at a general audience, and doesn't require special knowledge of topology or functional programming.
Lecture Materials:
Slides: http://www.cs.nott.ac.uk/~gmh/contractive.ppt
Paper: http://www.cs.nott.ac.uk/~gmh/contractive.pdf
Speaker Bio:
Graham Hutton is Professor of Computer Science at the University of Nottingham, where he coleads the Functional Programming Lab. His research interests are in formal reasoning about program correctness and efficiency, with an emphasis on functional languages such as Haskell. He is also the author of a bestselling Haskell textbook, for which he's recorded associated Channel 9 lectures that have received more than 600,000 downloads.
Share
Format
Available formats for this video:
Actual format may change based on video formats available and browser capability.
More episodes in this series
Brian Beckman: Hidden Markov Models, Viterbi Algorithm, LINQ, Rx and Higgs Boson
Related episodes
C9 Lectures: Dr. Graham Hutton  Functional Programming Fundamentals Chapter 11 of 13
YOW! 2011: Simon PeytonJones  Closer to Nirvana
C9 Lectures: Dr. Ralf Lämmel  Going Bananas
C9 Lectures: Dr. Ralf Lämmel  Advanced Functional Programming  Evolution of an…
C9 Lectures: Dr. Ralf Lämmel  Advanced Functional Programming  The Expression Problem
C9 Lectures: Dr. Erik Meijer  Functional Programming Fundamentals Chapter 13 of 13
C9 Lectures: Dr. Erik Meijer  Functional Programming Fundamentals Chapter 12 of 13
C9 Lectures: Dr. Erik Meijer  Functional Programming Fundamentals Chapter 10 of 13
C9 Lectures: Dr. Erik Meijer  Functional Programming Fundamentals Chapter 9 of 13
C9 Lectures: Dr. Erik Meijer  Functional Programming Fundamentals Chapter 8 of 13
The Discussion

Nice! To be added to the G+ C9 FP page.

I wrote a computer program which can do similar reasoning and can solve (or at least analyze) many mathematical (and not only mathematical) problems.
So I really believe that it possible to be more productive due to that and similar presentations.
My program is more productive this way. 
I just came across this paper, "A fixed point theorem for L^1 spaces" the other day, and now this lecture, both involving Banach fixed point theorem, so they must be related(??). Here's the layman's news article about it: "Mathematics: Mapping a fixed point". I'd be very interested to see if Dr. Hutton has anything to say about it, or any other Niners.
Thanks for the great content, as always.

Many thanks for the pointer Richard! I hadn't seen this paper, and it looks interesting.

@Graham Hutton: No problem. I don't understand it all yet, but I hope it helps somehow. Looking forward to more lectures. Thanks for all the time and effort.

As always a nice exposition of something quite interesting.
Generator functions and the principle that the next value in the stream can only depend upon earlier values made me think of many mathematical analyses such as moving averages  any thoughts on how this might be applicable in the time series data domain such as financial data or high frequency sensor data for detecting trends, anomalies, etc...
Its nice to see the old guys from the FP groups springing up on channel 9. What with Benedict Gaster a few months ago, yourself now, when are we going to see Mark Jones? 
Colin, that's funny, I just watched this too, we're all popping out of the woodwork...
Graham, my only thought, probably not interesting, was whether anyone has trawled through Bertrand Russell's PM; probably hard going, but he must have used all sorts of clever constructions and maybe some translate into FP? 
I will give five stars to every talk about ycombinator.
The explanation of subject of howtomakeanextitem vs. whatistheformula is not trivial for basic mathematics schoolteachers, so it may need more research.
But I wouldn't say that "generator function" (that makes next items) are plain easier. They may seem easier to construct (as their construction process is usually imperative), but... It doesn't mean that you will find the right patternmatch by accident.
Comments closed
Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.