* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Make Interactive Videos with PowerPoint and Office Mix
Abstraction (computer science) wikipedia , lookup
Object-oriented programming wikipedia , lookup
Programming language wikipedia , lookup
Reactive programming wikipedia , lookup
Falcon (programming language) wikipedia , lookup
Go (programming language) wikipedia , lookup
C Sharp (programming language) wikipedia , lookup
Corecursion wikipedia , lookup
Structured programming wikipedia , lookup
Monad (functional programming) wikipedia , lookup
Functional Programming (MTAT.05.106) • Lecturers: Varmo Vene & Kalmer Apinis. • On Tuesdays (r612) and Thursdays (r611) 10:15 to 12:00. • 5x homework + presentation/attendance (20%) + exam (20%) • For more information: courses & moodle. Grading • 5x Homework exercises (10% + 10% + 10% + 10% + 20%) 1. Pure Haskell 2. Pretty-Printing in Haskell 3. Combinatory logic in OCaml 4. Monadic programming 5. Compiling to the TIM • Participation or Presentation (20%) • Topics will be on courses.cs.ut.ee • Final Exam (mostly theory, 20%) Course plan – Theory and Practice • λ-calculus • Reduction • Church-Rosser theorem • Combinatory logic • Quick intro to Haskell • Intermediate Haskell programming • Pretty-Printing • Computability • QuickCheck • Church thesis • Monadic Parsing • Elements of type theory • Simply typed λ-calculus • Curry-Howard isomorphism • Polymorphic λ-calculus • Hindley-Milner type system • Monads • Quick intro to OCaml • Compiling functional languages • Type-classes • From reduction-based to reduction free • Three Instruction Machine • Vectorized continuation