From 34501bb0ee449a6adff1082ab009febc48b8df85 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 25 Aug 2017 19:22:26 -0400 Subject: comment --- ...ent_1_819902ee6b8e571f735dd2c9c93c49a9._comment | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 doc/forum/How_to_create_a_property_with_info/comment_1_819902ee6b8e571f735dd2c9c93c49a9._comment (limited to 'doc') diff --git a/doc/forum/How_to_create_a_property_with_info/comment_1_819902ee6b8e571f735dd2c9c93c49a9._comment b/doc/forum/How_to_create_a_property_with_info/comment_1_819902ee6b8e571f735dd2c9c93c49a9._comment new file mode 100644 index 00000000..853e6e86 --- /dev/null +++ b/doc/forum/How_to_create_a_property_with_info/comment_1_819902ee6b8e571f735dd2c9c93c49a9._comment @@ -0,0 +1,29 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 1""" + date="2017-08-25T23:07:12Z" + content=""" +It's not allowed for the content of Info to come from an IO action. +Info has to be static. This allows one Host to introspect the Info of +another Host. The Dns properties rely on that. + +So, the type checker is right in preventing this. It's also not allowed +to use ensureProperty with a property that HasInfo, as the info would +not propigate to the outer property. The type checker is also preventing +you making that mistake. + +(You also forgot to pass the `w` parameter to `ensureProperty`, +which made the type checker unhappy as well and probably confused the error +messages.) + +To accomplish your goal, you could use: + + data DebOMaticHostMirror = DebOMaticHostMirror + +If a Host has this in its Info, you know that Host is the one with +debomatic installed. You can then get its hostname using the `hostName` +field accessor on the Host. + +The property that does that will need to be passed a `[Host]` which will +typically be the `hosts` list defined in config.hs. +"""]] -- cgit v1.2.3