Successfully reported this slideshow.
Upcoming SlideShare
×

# functional programming

88 views

Published on

1. init: definition, components, history
2. begin: function (base value, higher-order function, first-class function, pure), immutable data, recursion, evaluation, type system
3. end: problems, usage, reflection, links

Published in: Software
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

• Be the first to like this

### functional programming

1. 1. functional programming Artur Dębkowski
2. 2. Billennium 2015 / Wszelkie prawa zastrzeżone. agenda 1. init 1. definition 2. components 3. history 2. begin 1. function 1. base value 2. higher-order function 3. first-class function 4. pure
3. 3. Billennium 2015 / Wszelkie prawa zastrzeżone. agenda 2. begin 2. immutable data 3. recursion 4. evaluation 5. type system 3. end 1. problems 2. usage 3. reflection 4. links
4. 4. Billennium 2015 / Wszelkie prawa zastrzeżone. init  programming paradigm  expression > statements  immutable data  function as base value
5. 5. Billennium 2015 / Wszelkie prawa zastrzeżone. history 30’ lambda calculus 50’ IPL, Lisp 70’ Backus; ML, Scheme 90’ Haskell … F#
6. 6. Billennium 2015 / Wszelkie prawa zastrzeżone. begin  first-class function  anonymous (lambda)  defined anywhere  closure  higher-order function  function as argument  currying (partial application)  return function  pure  no data dependency  no side effect  referential transparency
7. 7. Billennium 2015 / Wszelkie prawa zastrzeżone. begin  immutable data  type system  type inference  untyped / typed lambda calculus  recursion  vs loop (iteration)  mathematical induction  evaluation  strict (eager)  non-strict (lazy)
8. 8. Billennium 2015 / Wszelkie prawa zastrzeżone. end  problems  state simulation  efficiency  lazy evaluation  usage  languages  purely functional  other  when
9. 9. Billennium 2015 / Wszelkie prawa zastrzeżone. end  reflection  clean  expressive  less bug  gaining popularity
10. 10. Billennium 2015 / Wszelkie prawa zastrzeżone. end  Links  sicp https://mitpress.mit.edu/sicp/  coursera https://www.coursera.org/course/progfun  edx https://www.edx.org/course/introduction-functional-programming-delftx-fp101x
11. 11. thank you for your attention Artur Dębkowski