summaryrefslogtreecommitdiff
path: root/doc/todo
diff options
context:
space:
mode:
authorJoey Hess2015-01-25 15:16:58 -0400
committerJoey Hess2015-01-25 15:16:58 -0400
commit401b857eef13ca7d3f7b8f6b88e9237884fcd906 (patch)
treeeb4b5c189349b5a86b3b39edbe039956d3a1a3b8 /doc/todo
parent1df70ba81ddfbd4ceeb5344793f7714a35706c8f (diff)
parentcdd88b080af534231aae8a64ef327f0597a5b5b3 (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.mdwn29
-rw-r--r--doc/todo/info_propigation_out_of_nested_properties.mdwn2
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.