Types as First-Class Values in Fuzion (Extended Abstract)
summary
Fuzion is a prototype language that treats types as compile-time values and unifies type and value arguments so calls accept explicit type parameters; it adds type features (callable things like zero/one for numeric) and uses algebraic effect handlers installed at runtime. Examples compile and run: custom IO handler reroutes output from IO_out to IO_err, numeric type features supply zeros for generic sum, and local subtypes encapsulate the mutate effect so callers no longer require global mutation.
AI-written summary · about
chapters (16)
- 0:00Fuzion introduction
- 0:23Motivation for Fuzion
- 1:07Fuzion basics
- 4:24Executing Fuzion code
- 5:10Polymorphism in Fuzion
- 6:13Parametric polymorphism
- 7:40Dynamic binding in Fuzion
- 9:07Types as values
- 10:11Type-defining features
- 12:50Type parameters in calls
- 13:10Numeric type features
- 15:46Algebraic effects
- 18:59Mutable variables
- 21:29Localizing mutation
- 22:39Advanced mutation
- 23:24Fuzion design summary
related talks
15mThe Fuzion Intermediate Representation
24mA Bowtie for a Beast: Overloading, Eta Expansion, and Extensible Data Types in F...
26mFusing Session-Typed Concurrent Programming into Functional Programming
15mQualified Types with Boolean Algebras
21mFunctorial Syntax for All
41mAn Introduction to Functional Imperative Programming in Flix
16mPolymorphic Types and Effects with Boolean Unification
19mAssociated Effects: Flexible Abstractions for Effectful Programming
