~/talk

Building a Tagless Final DSL for WebGL in Scala

Talkat Scale By the Bay 2017 · 2017-11-16..11-18· [functional-programming]
slides:none on file

Claims that a tagless final DSL built in Scala.js provides composable layers from a low-level WebGL algebra up to a render-engine, interpreting into any effect type (demo uses Monix Task). Implements concrete ops like drawImage algebra, shader compilation that returns Either for compile errors, texture creation and matrix transforms, and a small SNES-style tile racer with sprites. Shows interpreters all the way down, a working browser demo, and mixing sequential and parallel effects via cats’ parallel instance.

AI-written summary · about

  1. 0:00Introduction
  2. 1:04Motivation for tagless final
  3. 3:36EDSLs vs embedded DSLs
  4. 6:29Tagless final explained
  5. 8:17Simple console algebra example
  6. 11:29Combining multiple algebras
  7. 13:17Layering languages in DSLs
  8. 14:47WebGL game project overview
  9. 16:12DOM algebra for WebGL
  10. 17:35WebGL low-level algebra
  11. 19:00Simple race program demo
  12. 20:48Render engine higher-level algebra
  13. 23:20Interpreters all the way down
  14. 24:06Final racing game demo
  15. 24:49Parallelism with Cats Parallel
  16. 26:57Inspecting and optimizing programs
  17. 28:02Maine library for algebra composition
  18. 28:46Stack safety in tagless final
  19. 29:07Key benefits of tagless final
  20. 30:31Conclusion and Q&A
~/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.