darcs

Patch 2407 make ShrinkModel into a MPTC

Title make ShrinkModel into a MPTC
Superseder Nosy List ganesh
Related Issues
Status accepted Assigned To
Milestone

Created on 2024-06-06.00:46:41 by ganesh, last changed 2024-06-16.23:52:55 by ganesh.

Files
File name Status Uploaded Type Edit Remove
patch-preview.txt dead ganesh, 2024-06-06.00:46:41 text/x-darcs-patch
patch-preview.txt dead ganesh, 2024-06-06.01:07:26 text/x-darcs-patch
patch-preview.txt ganesh, 2024-06-06.07:32:31 text/x-darcs-patch
remove-unused-alias.dpatch dead ganesh, 2024-06-06.00:46:41 application/x-darcs-patch
remove-unused-alias.dpatch dead ganesh, 2024-06-06.01:07:26 application/x-darcs-patch
remove-unused-alias.dpatch ganesh, 2024-06-06.07:32:31 application/x-darcs-patch
See mailing list archives for discussion on individual patches.
Messages
msg23975 (view) Author: ganesh Date: 2024-06-06.00:46:41
WIP for now - a followup to the discussion in patch2402 and
also partially inspired by Ben's message to darcs-devel
about making Apply into an MPTC.

2 patches for repository darcs-unstable@darcs.net:/opt/darcs/screened:

patch aeb9f5ddfeb38f09a74c1822bae9a4b7d1564866
Author: Ganesh Sittampalam <ganesh@earth.li>
Date:   Thu Jun  6 01:32:00 BST 2024
  * remove unused alias

patch 748d8c543628d65ade79f6369c54b5742ea00f0f
Author: Ganesh Sittampalam <ganesh@earth.li>
Date:   Thu Jun  6 01:43:32 BST 2024
  * make ShrinkModel into a MPTC
Attachments
msg23977 (view) Author: ganesh Date: 2024-06-06.01:07:26
3 patches for repository darcs-unstable@darcs.net:/opt/darcs/screened:

patch aeb9f5ddfeb38f09a74c1822bae9a4b7d1564866
Author: Ganesh Sittampalam <ganesh@earth.li>
Date:   Thu Jun  6 01:32:00 BST 2024
  * remove unused alias

patch 748d8c543628d65ade79f6369c54b5742ea00f0f
Author: Ganesh Sittampalam <ganesh@earth.li>
Date:   Thu Jun  6 01:43:32 BST 2024
  * make ShrinkModel into a MPTC

patch 72283a0161a78a449bfc741e11d5ae94bbe60992
Author: Ganesh Sittampalam <ganesh@earth.li>
Date:   Thu Jun  6 02:04:38 BST 2024
  * move ModelOf p ~ ModelOf (PrimOf p) up

  think it's only needed for examples now
Attachments
msg23980 (view) Author: ganesh Date: 2024-06-06.07:32:31
I think this is in a reasonably clean state now

3 patches for repository darcs-unstable@darcs.net:/opt/darcs/screened:

patch aeb9f5ddfeb38f09a74c1822bae9a4b7d1564866
Author: Ganesh Sittampalam <ganesh@earth.li>
Date:   Thu Jun  6 01:32:00 BST 2024
  * remove unused alias

patch 748d8c543628d65ade79f6369c54b5742ea00f0f
Author: Ganesh Sittampalam <ganesh@earth.li>
Date:   Thu Jun  6 01:43:32 BST 2024
  * make ShrinkModel into a MPTC

patch 5175adccdaed37ddcad70c1690848e64f1d0ac85
Author: Ganesh Sittampalam <ganesh@earth.li>
Date:   Thu Jun  6 08:29:35 BST 2024
  * drop general ModelOf p ~ ModelOf (PrimOf p) constraint
Attachments
msg23984 (view) Author: ganesh Date: 2024-06-08.16:20:06
I've screened this now as it makes sense independently of patch2402.
msg23993 (view) Author: bfrk Date: 2024-06-11.18:19:41
I am fine with that, especially since it makes WithNames model wrapper viable.

Not sure this will help us in the long run though. You still make the assumption 
that the shrinking patches associated with the model are prims. The way I see it 
ATM is that we'll probably end up with a type function or fundep that says the 
"shrinking fixup" patch type is determined by the model.
msg23998 (view) Author: ganesh Date: 2024-06-11.19:12:11
> The way I see it ATM is that we'll probably end up with a type 
> function or fundep that says the "shrinking fixup" patch type
> is determined by the model.

That was roughly what I tried first but it didn't quite work out,
and I think the reason is that you also want to judiciously choose the
shrinking fixup type to be in some sense compatible with the real
patches, so you can efficiently check whether it cancels fragments
of them.
msg24001 (view) Author: bfrk Date: 2024-06-14.19:40:46
Well, yes. So we want to impose a constraint a la

  PrimOf (ShrinkFixup (ModelOf p)) ~ PrimOf p

e.g. when we propagate these fixups through series of patches.
msg24002 (view) Author: ganesh Date: 2024-06-14.19:42:49
>   PrimOf (ShrinkFixup (ModelOf p)) ~ PrimOf p

I think we might just end up with a bunch of newtypes for the same
real model type if we want to make that work. Not 100% certain though,
and we can always try things out from with what we have now as a base.
msg24011 (view) Author: bfrk Date: 2024-06-15.18:34:25
Agreed.
History
Date User Action Args
2024-06-06 00:46:41ganeshcreate
2024-06-06 01:07:26ganeshsetfiles: + patch-preview.txt, remove-unused-alias.dpatch
messages: + msg23977
2024-06-06 01:07:54ganeshsettitle: remove unused alias (and 1 more) -> make ShrinkModel into a MPTC
2024-06-06 07:32:31ganeshsetfiles: + patch-preview.txt, remove-unused-alias.dpatch
messages: + msg23980
2024-06-08 16:20:06ganeshsetstatus: needs-screening -> needs-review
messages: + msg23984
2024-06-11 18:19:42bfrksetstatus: needs-review -> accepted-pending-tests
messages: + msg23993
2024-06-11 19:12:11ganeshsetmessages: + msg23998
2024-06-14 19:40:46bfrksetmessages: + msg24001
2024-06-14 19:42:49ganeshsetmessages: + msg24002
2024-06-15 18:34:25bfrksetmessages: + msg24011
2024-06-16 23:52:55ganeshsetstatus: accepted-pending-tests -> accepted