willtim/row-polymorphism

Example row-polymorphism implementations

Haskell

61

3 commits

updated Oct 3, 2023

See the code

README

row-polymorphism

Example row-polymorphism implementations.

  • AlgorithmW_Records.hs - an implementation of Daan Leijen's "Extensible Records with Scoped Labels".
  • AlgorithmW_ConstrainedRows.hs - an implementation of extensible records and variants using type variable constraints to prevent repeated labels.
  • AlgorithmW_Effects.hs - an implementation of row-polymorphic effect types using the above constrained-rows implementation.

NOTE:

For a more complete example of a language with row-polymorphism, checkout the Expresso project: https://github.com/willtim/Expresso

Contributors

willtim

3 commits

willtim/row-polymorphism

Example row-polymorphism implementations

Haskell

61

3 commits

updated Oct 3, 2023

See the code

README

row-polymorphism

Example row-polymorphism implementations.

  • AlgorithmW_Records.hs - an implementation of Daan Leijen's "Extensible Records with Scoped Labels".
  • AlgorithmW_ConstrainedRows.hs - an implementation of extensible records and variants using type variable constraints to prevent repeated labels.
  • AlgorithmW_Effects.hs - an implementation of row-polymorphic effect types using the above constrained-rows implementation.

NOTE:

For a more complete example of a language with row-polymorphism, checkout the Expresso project: https://github.com/willtim/Expresso

Contributors

willtim

3 commits

Languages

Haskell

97.6%

Nix

2.4%