Functional Programming in Haskell
Functional Programming in Haskell. Instructors: Prof. Madhavan Mukund and Prof. S. P. Suresh, Department of Computer Science and Engineering, CMI. Functional programming is an elegant, concise and powerful programming paradigm. This style encourages breaking up programming tasks into logical units that can be easily translated into provably correct code. Haskell brings together the best features of functional programming and is increasingly being used in the industry, both for building rapid prototypes and for actual deployment.
(from nptel.ac.in)
Go to the Course Home or watch other lectures:
Introduction |
Lecture 01 - Functions |
Lecture 02 - Types |
Lecture 03 - Haskell |
Lecture 04 - Running Haskell Programs |
Lecture 05 - Currying |
Lecture 06 - Examples |
Lists, Strings, Tuples |
Lecture 07 - Lists |
Lecture 08 - Functions on Lists |
Lecture 09 - Characters and Strings |
Lecture 10 - Tuples |
Rewriting, Polymorphism, Higher Order Functions on Lists |
Lecture 11 - Computation as Rewriting |
Lecture 12 - Polymorphism and Higher-Order Functions |
Lecture 13 - Map and Filter |
Lecture 14 - List Comprehension |
Lecture 15 - Folding through a List |
Lecture 16 - More like Functions |
Efficiency, Sorting, Infinite Lists, Conditional Polymorphism, Using GHCi |
Lecture 17 - Measuring Efficiency |
Lecture 18 - Sorting |
Lecture 19 - Using Infinite Lists |
Lecture 20 - Conditional Polymorphism |
Lecture 21 - Defining Functions in GHCi |
User-defined Datatypes, Abstract Datatypes, Modules |
Lecture 22 - User-defined Datatypes |
Lecture 23 - Abstract Datatypes |
Lecture 24 - Modules |
Recursive Datatypes, Search Trees |
Lecture 25 - Recursive Datatypes |
Lecture 26 - Binary Search Trees |
Lecture 27 - Balanced Search Trees |
Arrays, IO |
Lecture 28 - Arrays |
Lecture 29 - Input/Output |