I thought I'd have a look at what making Apply
into an MPTC looks like.
I've given up for now as it looks like a lot of work.
Some highlights:
The extra parameter gets all over the place. Perhaps
that's a good thing as it makes things more explicit,
but it's a lot of changes.
For example I was surprised to discover it in the core
of V2.Non and in matchers. A lot of explicit type applications
will likely be needed to propagate it around.
I also had to extract several classes from RepoPatch/PrimPatch
in order to avoid the extra parameter also bleeding into them
and then infecting various other code that didn't really depend
on it.
3 patches for repository darcs-unstable@darcs.net:/opt/darcs/screened:
patch 32736380b14ae146aaf4d7bc8a788a36d3f7d1dd
Author: Ganesh Sittampalam <ganesh@earth.li>
Date: Sat Jun 15 20:27:18 BST 2024
* make ObjectIdOfPatch into an explicit type family
patch 0f17e40826864ea9d163c444c6e0df3cd98aa50e
Author: Ganesh Sittampalam <ganesh@earth.li>
Date: Sat Jun 15 20:43:52 BST 2024
* enable MultiParamTypeClasses by default
patch aa8ea33934afda7d114fc652295ef5fa33188c83
Author: Ganesh Sittampalam <ganesh@earth.li>
Date: Mon Jun 17 00:05:16 BST 2024
* WIP: Apply as an MPTC
Attachments
|