~/talk

Semi-explicit polymorphic parameters

name:Leo White
links:none on file
slides:none on file

Reuses Garrigue and Remy’s semi-explicit ideas to add labeled types for polymorphic parameters, gives formal typing rules and implements them in an OCaml branch by treating arrow constructors as mutable arrow constructors and tracking levels for generalization, so instantiation side-conditions are decidable. Prototype-to-production took about six hours and the feature has run at Jane Street for almost a year with no reported problems, supporting polymorphic parameters annotated at lambdas while preserving inference elsewhere.

AI-written summary · about

  1. 0:00Semi-explicit polymorphic parameters
  2. 1:44Core idea from PolyML
  3. 3:10Type grammar for polymorphism
  4. 5:17Introduction rule
  5. 8:04Elimination rule challenge
  6. 10:31Labeled types solution
  7. 12:57Type annotations handling
  8. 14:01OCaml implementation
  9. 16:27OCaml integration
  10. 17:07Approach limitations
  11. 18:54Higher-rank polymorphism
  12. 19:37First-class polymorphism
  13. 21:22Summary and impact
  14. 21:43Q&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.