Massively improve usability by removing requirement for `Obj` constraints. Instead, expect `morph a b` to evidence that `a` and `b` are objects, and use `morph a a` equivalently to how `Obj morph a` was used before. This results in some redundant parameters in categories in which every type of a kind is an object ('nice categories', `NiceCat`), but those can often be avoided with synonyms, and it's far better than the constraint hell and `Dict`-passing I had to deal with before.James T. Martin2021-03-01 16:21:38 -0800
Begin work using Template Haskell to automate Base functor generation. It doesn't quite work yet, but it's a start. It'll need a rewrite to work, hence the commit. Current known bugs: * References to `r` do not take into account the skip pos. * Generation of `forall r` even when r is not used. * The `forall r` isn't placed where I want it to be. * The code is horrifically bad. * There are certainly other bugs I don't know about yet.James T. Martin2020-10-22 14:00:39 -0700
Haskell is a bad programming language which requires too much boilerplate. * Added Vec, indexer for Vec * Added Pi quantifiersJames T. Martin2020-10-22 11:10:09 -0700