~/talk

Easy Static Checking for Embedded DSLs in Scala with Contextual

Talkat Scala Days Copenhagen 2017 · 2017-05-30..06-02· [typescript]
slides:none on file

Library contextual produces compile-time checked interpolators for Scala by exposing literal parts to user code while handling the macro plumbing internally, so ordinary implicits and type classes define how holes are validated and escaped. It assigns a context per hole (scheme, domain, path, query, XML body/attribute) and can abort compilation with precise offsets and messages when parsing or semantic checks fail. Examples include URL, XML and CSS validators, optional runtime evaluation into java.net.URL, open source releases for Scala 2.10/2.11/2.12 and planned 2.0 API changes.

AI-written summary · about

  1. 0:00Introduction
  2. 1:38What is Contextual
  3. 2:23Why Contextual interrupts are boring
  4. 3:32The Typer
  5. 5:35Why is it true
  6. 7:00How does it work
  7. 7:15Extension Methods
  8. 9:23Revisiting Extension Methods
  9. 11:05Contextual
  10. 13:08Examples
  11. 13:41Embedding in Scala
  12. 14:17Writing Interpolators
  13. 15:04Haskell
  14. 15:31Regular Expressions
  15. 15:45Use of Facing Messages
  16. 16:12Contextual Interpolators
  17. 16:36Object
  18. 17:03ID
  19. 18:44CSS Interpolator
  20. 19:28A horrible abomination
  21. 20:19XML
  22. 20:52XML Example
  23. 21:16Xylophone
  24. 21:34compile error
  25. 21:44check tags
  26. 24:04embed name
  27. 25:30preview
  28. 27:32embed type class
  29. 28:54check string content
  30. 29:24assign context
  31. 29:34pass position
  32. 30:06create object
  33. 30:22extension field
  34. 30:59literals method
  35. 33:19parses method
  36. 35:17dissect URL
  37. 35:54create case object
  38. 36:08compile
  39. 38:30substitution
  40. 40:27input types
  41. 44:15version number
~/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.