Slide 1

Slide 1 text

Implementing Functional Reactive Programming in Friday, 7 October 11

Slide 2

Slide 2 text

Implementing Functional Reactive Programming in !? Friday, 7 October 11

Slide 3

Slide 3 text

Functional Reactive Programming? Friday, 7 October 11

Slide 4

Slide 4 text

Functional Reactive Programming? Behaviours Friday, 7 October 11

Slide 5

Slide 5 text

Functional Reactive Programming? Behaviours Events Friday, 7 October 11

Slide 6

Slide 6 text

Behaviours Friday, 7 October 11

Slide 7

Slide 7 text

Behaviours Time varying value Friday, 7 October 11

Slide 8

Slide 8 text

Behaviours Time varying value ‘Continuous’ Friday, 7 October 11

Slide 9

Slide 9 text

Behaviours Time varying value Generic ‘Continuous’ Friday, 7 October 11

Slide 10

Slide 10 text

Behaviours Time varying value Recursive composition Generic ‘Continuous’ Friday, 7 October 11

Slide 11

Slide 11 text

Functional Reactive Programming? Behaviours Events Friday, 7 October 11

Slide 12

Slide 12 text

Events Friday, 7 October 11

Slide 13

Slide 13 text

Events Two states Friday, 7 October 11

Slide 14

Slide 14 text

Events ‘Discrete’ Two states Friday, 7 October 11

Slide 15

Slide 15 text

Events ‘Discrete’ Two states ‘Stream’-esque Friday, 7 October 11

Slide 16

Slide 16 text

Events ‘Discrete’ Two states Practical ‘Stream’-esque Friday, 7 October 11

Slide 17

Slide 17 text

Implementing Functional Reactive Programming in Friday, 7 October 11

Slide 18

Slide 18 text

Implementing Functional Reactive Programming in why? Friday, 7 October 11

Slide 19

Slide 19 text

“A multi-paradigm programming language designed to integrate features of object- oriented and functional programming...” Friday, 7 October 11

Slide 20

Slide 20 text

‘Purely’ Functional Friday, 7 October 11

Slide 21

Slide 21 text

Type System Friday, 7 October 11

Slide 22

Slide 22 text

Generics Friday, 7 October 11

Slide 23

Slide 23 text

Extensible Friday, 7 October 11

Slide 24

Slide 24 text

Extensible = Implicit Methods implicit def int2String(val : Int) : String = val.toString Friday, 7 October 11

Slide 25

Slide 25 text

Extensible = Traits trait SaysHello { val x = 5 def sayHello { println(“Hello ” + x) } } Friday, 7 October 11

Slide 26

Slide 26 text

FRP + Scala Friday, 7 October 11

Slide 27

Slide 27 text

‘echo’ oetzi.github.com/echo Friday, 7 October 11