From dd40a05ced3b7c50a3a7751c66ad5a253056459e Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 6 Dec 2014 16:15:08 -0400 Subject: update --- doc/todo/info_propigation_out_of_nested_properties.mdwn | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/doc/todo/info_propigation_out_of_nested_properties.mdwn b/doc/todo/info_propigation_out_of_nested_properties.mdwn index 9e69b0b4..1a586be6 100644 --- a/doc/todo/info_propigation_out_of_nested_properties.mdwn +++ b/doc/todo/info_propigation_out_of_nested_properties.mdwn @@ -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 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 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 @@ -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. 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 -the Properties in the Reader monad. +first as it's done now by static propertyInfo values. Then take that +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. -- cgit v1.2.3