From a09237766cfa73446eb7d32a84ce641118433c70 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 16 Sep 2019 11:21:12 -0400 Subject: response --- ...ment_1_6e0f5ebebe81a632dccafb97cfe49e70._comment | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 doc/forum/Combining_properties_with_HasInfo_and_another_without_HasInfo/comment_1_6e0f5ebebe81a632dccafb97cfe49e70._comment (limited to 'doc') diff --git a/doc/forum/Combining_properties_with_HasInfo_and_another_without_HasInfo/comment_1_6e0f5ebebe81a632dccafb97cfe49e70._comment b/doc/forum/Combining_properties_with_HasInfo_and_another_without_HasInfo/comment_1_6e0f5ebebe81a632dccafb97cfe49e70._comment new file mode 100644 index 00000000..04eb0f2b --- /dev/null +++ b/doc/forum/Combining_properties_with_HasInfo_and_another_without_HasInfo/comment_1_6e0f5ebebe81a632dccafb97cfe49e70._comment @@ -0,0 +1,21 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 1""" + date="2019-09-16T15:07:56Z" + content=""" +The problem is that you have "Debian + HasInfo" and the compiler expects +"HasInfo + Debian". If you swap the order it will compile. + +Internally these types are represented as type-level lists, eg +`[Debian, HasInfo]`. Unfortunately list items are ordered. +What's needed is a type-level set. Using + +or something like it would avoid the problem, and is planned eventually. +(But not yet, it [affects compile performance](https://github.com/dorchard/type-level-sets/issues/17) +and [actually still depends on list ordering](https://github.com/dorchard/type-level-sets/issues/5).) + +In the meantime, there's a de-facto standard ordering of the items in a +Property's metatypes list, and using some other ordering will result +in this problem. If you let ghc infer the type of a property, the result +will always use the standard ordering. +"""]] -- cgit v1.2.3