the time is out of joint: o cursed spite, / that ever i was born to set it right!
DESCRIPTION
Managing state and time is hard, but that is more due to the mess in our heads than difficulty inherent in the problem. In this talk I will explore functional programming, and its offshoot functional reactive programing, from the perspective of how it handles (and help us think about) values, identity and time. May contain traces of Clojure and React.TRANSCRIPT
!
The time is out of joint: O cursed spite, That ever I was born to set it right!
[email protected] @sbelak
WebCamp Ljubljana, 26. 4. 2014
The future is a function of the past,
it doesn’t change it
Things don’t change in place*
* time is just a dimension
Concurrency =
multiple intersecting timelines
Action is sequential, perception is parallel
Value!an immutable quantity or composition thereof
Time!relative ordering of casual values
State!value of an identity at a point in time
Identity!entity we associate with a series of states over time
Functional programming
Persistent data structures
Action is sequential, perception is parallel
map/reduce
Concurrency models
sharedisolated
asynchronous
synchronous
coordinated
autonomous
Concurrency models
sharedisolated
asynchronous
synchronous
coordinated
autonomous
Concurrency models
sharedisolated
asynchronous
synchronous
coordinated
autonomous
Concurrency models
sharedisolated
asynchronous
synchronous
coordinated
autonomous
Propagating change
Reactive programming
Inversion of control
Functional Reactive
programming
Action is sequential, perception is parallel
Code = data
Call graph + log
Questions