You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Edsko says: "I think AllowAmbiguousTypes is almost never the right solution; the main problem is that it gives the user no indication at all as to which type variables might be problematic. If you use the explicit inverse approach (which is only needed in rare cases), at least ghc will clearly point to where the problem is (cannot prove that such and such is equal to such and such)."
So probably the numerous AllowAmbiguousTypes in horde-ad code contribute to the unhelpful error messages when developing horde-ad or using it as a library. Let's get rid of them once the code stabilizes again. Some cases may require just the usage of Proxy arguments. More ideas are at https://www.youtube.com/watch?v=1vd9mvH8Bos&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&index=3
The text was updated successfully, but these errors were encountered:
I'm still unclear where to use SNat, Proxy and Proxy#.
I'm also currently using the orthotope's idiom valueOf @k, which may change to proxy_value# and others, more or less forced or suggested by the addition of SNat, Proxy or Proxy#.
An example: I'm currently using Proxy in the method sslice, but nothing in the corresponding term AstSliceS. Probably term constructors don't need Proxy as much, but there is SNat in a couple, so it's not clear-cut.
Edsko says: "I think AllowAmbiguousTypes is almost never the right solution; the main problem is that it gives the user no indication at all as to which type variables might be problematic. If you use the explicit inverse approach (which is only needed in rare cases), at least ghc will clearly point to where the problem is (cannot prove that such and such is equal to such and such)."
So probably the numerous AllowAmbiguousTypes in horde-ad code contribute to the unhelpful error messages when developing horde-ad or using it as a library. Let's get rid of them once the code stabilizes again. Some cases may require just the usage of Proxy arguments. More ideas are at https://www.youtube.com/watch?v=1vd9mvH8Bos&list=PLD8gywOEY4HaG5VSrKVnHxCptlJv2GAn7&index=3
The text was updated successfully, but these errors were encountered: