~/talk

Sharing Is Caring - How to Let the Compiler Know What You're Thinking

Talkat ScalaIO 2018 · 2018-10-29..10-31· [developer-experience]
slides:none on file

Claim: sharing intent with the compiler—via typed wrappers, phantom types, implicit rules, and compile-time macros—turns it from dumb gatekeeper into active verifier. Examples: small case-class wrappers stop the swapped-ID bug by making appId/postId distinct; phantom-typed HTML/JS/URL tracks tainted vs safe content so interpolation rejects unsafe inputs; implicits derive JSON writers for String/List/Option/Either automatically; macros validate regex literals at compile time and generate case-class JSON serializers but remain experimental and hazardous.

AI-written summary · about

  1. 0:00Intro
  2. 3:50Communication
  3. 6:22Typed Wrappers
  4. 10:43Programming is Hard
  5. 11:54Language Wrappers
  6. 14:37Phantom Types
  7. 18:59Good Implicits
  8. 21:35What's in a Name?
  9. 22:39Show Me the Code
  10. 26:06Derivation Galore
  11. 27:32Implicit Techniques
  12. 28:37What are Macros?
  13. 29:44When to Use Macros?
  14. 31:29Compile-time Regular Expressions
  15. 35:26Case Class Writer
  16. 37:17The Writer Macro
  17. 41:00Macro Alternatives
  18. 42:01Summary
~/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.