~/talk

Blazing Fast, Pure Effects without Monads

Talkat LambdaConf 2018 · 2018-06-03..06-05· [machine-learning]
slides:none on file

Claims that Kleisli arrows (a Clisly IO) beat monadic IO on the JVM by fusing impure calls and avoiding allocations. Uses Scala on the JVM with Scalaz 8 ideas and compares to Future, Monix, Cats Effect; earlier Futures are ~100x slower, monadic effect libs push that down but cannot improve much more, while the arrow-based implementation shows roughly 2x speedup over the fastest effect monads. Implements an impure constructor and benchmarks (10k array fill, 10k-element bubble sort) that run and validate the performance gains.

AI-written summary · about

  1. 0:00Introduction
  2. 2:37Functional Programming
  3. 3:22Totality
  4. 6:38Type Reasoning
  5. 12:02What are Monads
  6. 13:05IO Monad
  7. 14:13Do Notation
  8. 14:39Unsafe Performing
  9. 16:17Single Statement Program
  10. 16:45Why is that a problem
  11. 18:25Future vs Monads
  12. 20:16Solution
  13. 20:49Kleiss Li Arrows
  14. 22:44IO
  15. 23:07Function IO
  16. 25:16Program IO
  17. 25:45Program Count
  18. 26:52impure constructor
  19. 28:11hype constructor
  20. 28:44Li IO
  21. 32:01Pure IO
  22. 32:21impure IO
  23. 32:55impure function
  24. 33:28identity arrow
  25. 33:56compose
  26. 34:23zip
  27. 35:04and
  28. 36:52First and Second
  29. 37:53Left
  30. 38:29Right
  31. 38:46PrintLine
  32. 40:02Conditional Logic
  33. 43:30recursive construct
  34. 43:41termination condition
  35. 43:57while loop
  36. 44:23how to make this really fast
  37. 44:37how to use the impure constructor
  38. 45:06example composition
  39. 46:05dynamic optimization
  40. 47:07ifthenelse
  41. 48:40speed
  42. 48:57fuse
  43. 49:33benchmark
  44. 51:26arrow notation
  45. 52:04results speak for themselves
  46. 52:35more complex logic
  47. 54:38less code
  48. 55:02Whats next
  49. 56:26Thanks
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.