update
This commit is contained in:
parent
d782c413eb
commit
dd40a05ced
|
@ -13,6 +13,10 @@ Here, the Info of `foo` is not propigated out. Nor is `bar`'s Info.
|
||||||
Of course, only one of them will be run, and only its info should be propigated
|
Of course, only one of them will be run, and only its info should be propigated
|
||||||
out..
|
out..
|
||||||
|
|
||||||
|
This commonly afflicts eg, privData. For example, `User.hasPassword'`
|
||||||
|
has this problem, and this prevents --list-fields from listing privdata
|
||||||
|
that's not set from that property.
|
||||||
|
|
||||||
One approach might be to make the Propellor monad be able to be run in two
|
One approach might be to make the Propellor monad be able to be run in two
|
||||||
modes. In one mode, it actually perform IO, etc. In the other mode, all
|
modes. In one mode, it actually perform IO, etc. In the other mode, all
|
||||||
liftIO is a no-op, but all Info encountered is accumulated using a Reader
|
liftIO is a no-op, but all Info encountered is accumulated using a Reader
|
||||||
|
@ -24,5 +28,7 @@ properties have been examined for info!
|
||||||
|
|
||||||
Perhaps that can be finessed. We don't really need to propigate out OS info.
|
Perhaps that can be finessed. We don't really need to propigate out OS info.
|
||||||
Just DNS and PrivDataField Info. So info could be collected in 2 passes,
|
Just DNS and PrivDataField Info. So info could be collected in 2 passes,
|
||||||
first as it's done now by static propertyInfo values. Then by running
|
first as it's done now by static propertyInfo values. Then take that
|
||||||
the Properties in the Reader monad.
|
and use it as the Info when running the Properties in the Reader monad.
|
||||||
|
Combine what the Reader accumulates with the static info to get the full
|
||||||
|
info.
|
||||||
|
|
Loading…
Reference in New Issue