Login
Course Information
Identification

CS 613: Design & Implementation of Functional Programming
 
Description

Illustration of Basic concepts in FP using Haskell: Functions as first class objects, Laziness, Datatypes and pattern matching, Types, Classes and overloading, Side-effect free IO. Introduction to Lambda Calculus: Syntax of Lambda terms, Alpha, beta and delta conversions, Normal forms, applicative order and normal order reductions, Church-Rosser theorems, Y combinator and recursion.

Type Inference: Hindley-Milner type checking algorithm and its extension to handle type classes. Implementation of FP Languages: Supercombinators and Lambda Lifting, Graph reduction, Three instruction machine (TIM). Selected topics in Functional Programming: Bird-Meertens Formalism, Abstract Interpretation, Functional Programming using Monads. Selected topics in Functional Programming: Bird-Meertens Formalism, Abstract Interpretation, Functional Programming using Monads.
 
References

P. Hudak, S. Peyton Jones and P. Wadler (eds), Report on the Programming Language Haskell, A Non-strict Purely Functional Language (v 1.2), ACM SIGPLAN Notices, 21(12):37-79, December 1986.

P. Hudak and J. Fasel. A Gentle Introduction to Haskell. ACM SIGPLAN Notices, 21(12):37-79, December 1986.

R. Bird and P. Wadler. Introduction to Functional Programming, Prentice Hall, New York, 1988.

J. R. Hindley and J. P. Seldin. Introduction to Lambda Calculus and Combinators. Cambridge University Press, 1984.

S. Peyton Jones. The Implementation of Functional Programming languages, Prentice Hall, New York, 1987.

G. Argo, Improving the Three Instruction Machine, Procs. of FPCA, ACM Press, 1989.
 
Home Page

http://www.cse.iitb.ac.in/~as/fpcourse/fpcourse.html
 
Prerequisites

NIL
 
Other Details

Duration : Full Semester Total Credit : 6
Type : Theory
 
Current Semester (Autumn 2017-18)

Status : Offered Instructor : Prof. Sanyal Amitabha
 
Next Semester (Spring 2017-18)

Status : Not Offered Instructor : ---




Last Modified Date: 09-May-2016

Webmail

Username:
Password:
Faculty CSE IT
Forgot Password
    [+] Sitemap     Feedback