Fram: Named Parameters Pushed to the Limit
summary
Fram is an ML-family experimental language that pushes a single, named parameters generalized mechanism to encode many features rather than adding special forms. It implements implicit/optional/default resolution, a stratified type-and-scheme system with rank polymorphism, and generates records, existential types, functors from the same machinery. The team builds a typechecker and interpreter, proves coherence of the implicit-parameter design and formalized in C, and uses Fram in classroom experiments showing the idea actually works.
AI-written summary · about
chapters (13)
- 0:00Introduction to Fram
- 1:03Origin of Fram name
- 3:14Type system design
- 5:44Named type parameters
- 7:13Motivation for implicit params
- 8:42Implicit params in Fram
- 11:33Records as sugar
- 13:19Existential types
- 15:32Functors and modules
- 18:27Summary of Fram
- 20:36Future work and effects
- 21:01Questions about module encoding
- 22:08Questions about effect type system
related talks
20mFluent APIs in Functional Languages
23mTowards better implicit parameters
30mPlausible sealing for gradual parametricity
28mSemi-explicit polymorphic parameters
24mA Bowtie for a Beast: Overloading, Eta Expansion, and Extensible Data Types in F...
19mTowards Tagless Interpretation of Stratified System F (Extended Abstract)
41mAn Introduction to Functional Imperative Programming in Flix
30mCompositional Deep Argument Flattening
