statebox / cql

CQL: Categorical Query Language implementation in Haskell
GNU Affero General Public License v3.0
162 stars 14 forks source link

Split Term #126

Open wisnesky opened 5 years ago

wisnesky commented 5 years ago

If someone is feeling daring and finds it worthwhile, they might try factoring Term like this:

data Path var gen fk = | Var var | Gen gen | Fk fk (Path gen fk)

data Term var ty en sym fk att gen sk = | Var var | Sk sk | Att (Path var gen fk)
| Sym sym (List (Term var ty en sym fk att gen sk))