diff options
| author | Joey Hess <joeyh@joeyh.name> | 2015-01-25 15:16:58 -0400 |
|---|---|---|
| committer | Joey Hess <joeyh@joeyh.name> | 2015-01-25 15:16:58 -0400 |
| commit | 401b857eef13ca7d3f7b8f6b88e9237884fcd906 (patch) | |
| tree | eb4b5c189349b5a86b3b39edbe039956d3a1a3b8 /doc/todo | |
| parent | 1df70ba81ddfbd4ceeb5344793f7714a35706c8f (diff) | |
| parent | cdd88b080af534231aae8a64ef327f0597a5b5b3 (diff) | |
Merge branch 'joeyconfig'
Conflicts:
doc/todo/info_propigation_out_of_nested_properties.mdwn
privdata.joey/privdata.gpg
Diffstat (limited to 'doc/todo')
| -rw-r--r-- | doc/todo/RevertableProperty_with_NoInfo.mdwn | 29 | ||||
| -rw-r--r-- | doc/todo/info_propigation_out_of_nested_properties.mdwn | 2 |
2 files changed, 31 insertions, 0 deletions
diff --git a/doc/todo/RevertableProperty_with_NoInfo.mdwn b/doc/todo/RevertableProperty_with_NoInfo.mdwn new file mode 100644 index 00000000..e9c1eb5d --- /dev/null +++ b/doc/todo/RevertableProperty_with_NoInfo.mdwn @@ -0,0 +1,29 @@ +Currently, a RevertableProperty's Properties always both HasInfo. This +means that if a Property NoInfo is updated to be a RevertableProperty, and +someplace called ensureProperty on it, that will refuse to compile. + +The workaround is generally to export the original NoInfo property under +a different name, so it can still be used with ensureProperty. + +This could be fixed: + + data RevertableProperty i1 i2 where + RProp :: Property i1 -> Property i2 -> RevertableProperty i1 i2 + +However, needing to write "RevertableProperty HasInfo NoInfo" is quite +a mouthful! + +Since only 2 places in the propellor source code currently need to deal +with this, it doesn't currently seem worth making the change, unless a less +intrusive way can be found. + +Probably related would be to make RevertableProperty a constructor in the +Property GADT, which would allow more property combinators to work on +RevertableProperties. That would look like: + + data Propety i where + ... + RProp :: Property i1 -> Property i2 -> Property (CInfo i1 i2) + +In this case, there's only one Info/NoInfo encompassing both sides, and +so ensureProperty could only be used on it if both sides were NoInfo. diff --git a/doc/todo/info_propigation_out_of_nested_properties.mdwn b/doc/todo/info_propigation_out_of_nested_properties.mdwn index 33ac1424..536d6719 100644 --- a/doc/todo/info_propigation_out_of_nested_properties.mdwn +++ b/doc/todo/info_propigation_out_of_nested_properties.mdwn @@ -1,3 +1,5 @@ +> Now [[fixed|done]]!! --[[Joey]] + Currently, Info about a Host's Properties is propigated to the host by examining the tree of Properties. |
