blob: 9741de20ee2917e785a83ab3364a0caf1b7bbc98 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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.
"""]]
|