~/talk

Evolving Functional Programming Languages

Talkat Lambda World 2016 · 2016-09-30..10-01· [functional-programming]
links:none on file
slides:none on file

Argues that evolving functional languages splits into compiler plugins and macros (opaque, global, can speed code — machinist claims up to ~5x for numeric type-class calls) versus encodings vs extensions (type-level encodings like type classes or HLists keep composability and pedagogy). Shows tools: kind-projector, simulacrum, machinist, Shapeless and circe derive (automatic JSON encoders generated), notes many extensions start as encodings then gain macros, and warns about incompatible, hard-to-google sublanguages.

AI-written summary · about

  1. 0:00Intro
  2. 1:52methodology
  3. 3:31referential transparency?
  4. 5:45why is substitution so important?
  5. 8:03what was that about types?
  6. 8:40types make this more difficult?
  7. 11:11strategies against boilerplate
  8. 13:12type lambdas
  9. 14:25natural transformations
  10. 20:16what does simulacrum do?
  11. 21:44even more about type classes
  12. 25:01so extensions are great? Extensions are a clear way to evolve the language
  13. 25:33the other side
  14. 28:07in the eye of the beholder
  15. 28:55encodings as pedagogy Encodings have pedagogical value
  16. 30:39trade-offs
  17. 33:46cast back your mind
  18. 34:47magic dogs How does this work?
  19. 35:21encoding or extension?
~/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.