hrb90 / purescript-chungpodo

Type level fun with Union and RowToList

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

purescript-chungpodo

a fresh and tasty grape

purescript-chungpodo provides basic typeclasses using PureScript's Union and RowToList features to do other cool stuff with rows, for instance:

  • Check at compile time that a row has no duplicate labels
  • Check at compile time that two rows have disjoint labels
  • Check at compile time that a row is a subrow of another
  • Check at compile time that a row is the intersection of two other rows.

Current implementations assume (or, sometimes, specify with constraints) that all your rows have no duplicate labels; this is often enough the case for practical applications, but if you do need to use rows with duplicate labels, you should look elsewhere.

Acknowledgments

Thanks to Justin Woo for naming help.

About

Type level fun with Union and RowToList


Languages

Language:PureScript 94.9%Language:JavaScript 5.1%