~/talk

Decorate your types with refined

Talkat Typelevel Summit Oslo 2016 · on Wednesday, 2016-05-04· [scala]
links:none on file
slides:none on file

Library refined adds precise constraints to existing Scala types and demonstrates both compile-time macro validation for literals and applyRef runtime Either for dynamic values, abstracting smart constructors so literals validate at compile time while nonliterals validate at runtime. Predicates include ranges, character classes, regex and compositors with subtyping inference; it uses shapeless witness and plans SIP-23 singleton syntax. Integrations exist for circe, Monocle, scodec and provides Arbitrary instances; code on GitHub and slides are linked.

AI-written summary · about

  1. 0:00Start
  2. 1:16What's the problem with String?
  3. 2:15Add meaning and safety with value dasses
  4. 3:06Add validation logic smart constructors
  5. 6:10Refinement types
  6. 6:47Refinement subtyping
  7. 8:09Literals at the type-level
  8. 9:56GitHash with refined
  9. 11:49Refining values at compile-time
  10. 12:47Refining values at runtime
  11. 13:44How does that work?
  12. 17:44Logical predicates
  13. 18:11Collection predicates
  14. 18:34Numeric predicates
  15. 19:09String predicates
  16. 19:46Integration with other libraries
  17. 21:30Summary
~/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.