summaryrefslogtreecommitdiff
path: root/doc/todo/type_level_OS_requirements
diff options
context:
space:
mode:
authorJoey Hess2016-03-09 11:04:59 -0400
committerJoey Hess2016-03-09 11:04:59 -0400
commit29c6dcda77ee8348f7c8b292d61d363a6d699e26 (patch)
tree16dd99b1cb4e64f0971b74327e846c027453832a /doc/todo/type_level_OS_requirements
parent318aa76c845e48859dea15d27883ab81c204dee6 (diff)
comment
Diffstat (limited to 'doc/todo/type_level_OS_requirements')
-rw-r--r--doc/todo/type_level_OS_requirements/.comment_1_507e3b74c2a3b8f41da5d3eddf197c6f._comment.swpbin0 -> 12288 bytes
-rw-r--r--doc/todo/type_level_OS_requirements/comment_6_b10cb4445eb2519c8b3f7f080c975113._comment21
2 files changed, 21 insertions, 0 deletions
diff --git a/doc/todo/type_level_OS_requirements/.comment_1_507e3b74c2a3b8f41da5d3eddf197c6f._comment.swp b/doc/todo/type_level_OS_requirements/.comment_1_507e3b74c2a3b8f41da5d3eddf197c6f._comment.swp
new file mode 100644
index 00000000..79380a08
--- /dev/null
+++ b/doc/todo/type_level_OS_requirements/.comment_1_507e3b74c2a3b8f41da5d3eddf197c6f._comment.swp
Binary files differ
diff --git a/doc/todo/type_level_OS_requirements/comment_6_b10cb4445eb2519c8b3f7f080c975113._comment b/doc/todo/type_level_OS_requirements/comment_6_b10cb4445eb2519c8b3f7f080c975113._comment
new file mode 100644
index 00000000..9741de20
--- /dev/null
+++ b/doc/todo/type_level_OS_requirements/comment_6_b10cb4445eb2519c8b3f7f080c975113._comment
@@ -0,0 +1,21 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 6"""
+ date="2016-03-09T15:01:05Z"
+ content="""
+I've added a prototype of `ensureProperty` that enforces at the type level
+that the property it runs will work on an OS that's passed to it.
+
+It was easier than I thought; I didn't turn out to need reification. Just
+pass in the outer OS:
+
+ ensureProperty
+ :: (CannotCombineOS outeros inneros (IntersectOSList outeros inneros) ~ CanCombineOS)
+ => OSList outeros
+ -> Property (OSList inneros)
+ -> IO ()
+ ensureProperty outeros (Property inneros a) = a
+
+At this point, I'm confident this can be rolled out into propellor;
+there should be no big bumps in the road ahead.
+"""]]