darcs

Patch 1417 Rename Prim.V3 to Prim.FileUUID (and 7 more)

Title Rename Prim.V3 to Prim.FileUUID (and 7 more)
Superseder Nosy List ganesh
Related Issues
Status accepted Assigned To
Milestone

Created on 2016-01-12.07:22:09 by ganesh, last changed 2016-01-27.20:54:47 by gh.

Files
File name Status Uploaded Type Edit Remove
patch-preview.txt ganesh, 2016-01-12.07:22:08 text/x-darcs-patch
rename-prim_v3-to-prim_fileuuid.dpatch ganesh, 2016-01-12.07:22:08 application/x-darcs-patch
unnamed ganesh, 2016-01-12.07:22:08 text/plain
See mailing list archives for discussion on individual patches.
Messages
msg18898 (view) Author: ganesh Date: 2016-01-12.07:22:08
For discussion initially.

Darcs.Patch.Prim.V3 was an experiment in implementing UUIDs
for file identity (which e.g. helps with
http://darcs.net/Ideas/AddAddConflicts)

It's quite a long way from being finished and doesn't have
working tests, and with Pijul-style patches hopefully
coming along we may not want to use the file UUID code for V3
patches after all (equally we might; Pijul helps with
avoiding conflicts within a file, UUIDs help with avoiding
conflicts at the directory level).

Anyway, although I think we should keep the code live for now,
it seems better to rename it so we have more freedom what
we put into the eventual V3.

As well as the renaming in the initial patch, I've done some
cleaning up. That can be applied even if we don't apply the
renaming.

8 patches for repository darcs-unstable@darcs.net:screened:

patch 9bd66fa57b18c718003ca166ab6cddb9293e02dd
Author: Ganesh Sittampalam <ganesh@earth.li>
Date:   Mon Jan 11 07:57:49 GMT 2016
  * Rename Prim.V3 to Prim.FileUUID
  It's an unfinished experiment that won't necessarily form part of the
  next patch version, so make this explicit in the naming.

patch 097a7518c418b5675e879c2753d0430b736611a6
Author: Ganesh Sittampalam <ganesh@earth.li>
Date:   Mon Jan 11 21:14:02 GMT 2016
  * swap argument order to ApplyMonad/ApplyMonadTrans

patch 8b62f962b4aa2bf91822a41c5c78383776b8412e
Author: Ganesh Sittampalam <ganesh@earth.li>
Date:   Mon Jan 11 21:57:03 GMT 2016
  * disentangle the state-specific ApplyMonad methods
  ConstraintKinds allows this simplification

patch 313fa05fb9f5071c610f246cd414d0102aabfbdb
Author: Ganesh Sittampalam <ganesh@earth.li>
Date:   Mon Jan 11 22:04:14 GMT 2016
  * move the ObjectMap related code to the FileUUID patch type

patch ac8989ef639d62b63462c093f85b79baaed3304d
Author: Ganesh Sittampalam <ganesh@earth.li>
Date:   Mon Jan 11 22:25:29 GMT 2016
  * drop unused (and never defined) putApplyState

patch 4c2bc7ee43f73c9590c8963647bfa3155c7aacaa
Author: Ganesh Sittampalam <ganesh@earth.li>
Date:   Mon Jan 11 22:38:50 GMT 2016
  * simplify type

patch 070ec61b4693d2090f4b94750baed4f55799cc4c
Author: Ganesh Sittampalam <ganesh@earth.li>
Date:   Mon Jan 11 22:53:21 GMT 2016
  * drop unnecessary constraint

patch d6bf19466a46ae2256a83d394f02cdfb7181647a
Author: Ganesh Sittampalam <ganesh@earth.li>
Date:   Tue Jan 12 07:12:04 GMT 2016
  * applyToTree is just a specialisation of applyToState
Attachments
msg18969 (view) Author: gh Date: 2016-01-26.10:17:43
I don't mind about the Prim.V3 code, but the renaming looks good. At
least I learn that V3s prim were about UUIDs..
msg18980 (view) Author: gh Date: 2016-01-27.12:28:39
I'm OK with all patches. A few comments on the following:

* patch "disentangle the state-specific ApplyMonad methods": introduces
the definition `type ApplyMonadStateOperations state :: (* -> *) ->
Constraint` used in two places: `type ApplyMonadStateOperations Tree =
ApplyMonadTree` and  `type ApplyMonadStateOperations ObjectMap =
ApplyMonadObjectMap`.  Both ApplyMonadObjectMap and ApplyMonadTree are
new classes. (ApplyMonadStateOperations state m) is now a superclass of
ApplyMonad. There is now a separation between ApplyMonad and
ApplyMonadTree (see Darcs.Patch.ApplyMonad). Seems good.

* patch "applyToTree is just a specialisation of applyToState": why do
we still need ApplyToState? It doesn't seem to be used anywhere.
msg18984 (view) Author: ganesh Date: 2016-01-27.19:45:04
I thought about dropping applyToState, but it's likely to be useful in 
future for getting rid of 'ApplyState p ~ Tree' constraints (and thus 
abstracting over repository formats for Pijul), so I thought it's best 
to keep it for now.
msg18985 (view) Author: gh Date: 2016-01-27.20:54:47
Oh sounds like an excellent reason to keep it, then!

Accepted.
History
Date User Action Args
2016-01-12 07:22:09ganeshcreate
2016-01-12 07:23:14ganeshsetstatus: needs-screening -> in-discussion
2016-01-25 20:47:19ganeshsetstatus: in-discussion -> needs-screening
2016-01-25 20:48:00ganeshsetstatus: needs-screening -> needs-review
2016-01-26 10:17:44ghsetmessages: + msg18969
2016-01-27 12:28:39ghsetstatus: needs-review -> review-in-progress
messages: + msg18980
2016-01-27 19:45:04ganeshsetmessages: + msg18984
2016-01-27 20:54:47ghsetstatus: review-in-progress -> accepted
messages: + msg18985