geekosaur 2017-02-09 21:45:18
basically, if things get too polymorphic then the compiler can't with certainty eliminate the wrapper
tsahyt 2017-02-09 21:47:36
geekosaur: I suppose the safe coerce variant that you get automatically for newtypes doesn't help either?
geekosaur 2017-02-09 21:50:58
tsahyt, I do not know
geekosaur 2017-02-09 21:52:16
but I suspect that in the cases in question, if the compiler cannot tell with certainty that it can eliminate the wrapper itself, it also cannot tell with certainty that it has a Coercible constraint
geekosaur 2017-02-09 21:52:52
(because they're pretty much the same thing stated two different ways)
geekosaur 2017-02-09 21:53:56
in fact I wouldn't be surprised if it determines it can eliminate the wrapper by looking for a Coercible constraint...
tsahyt 2017-02-09 21:54:20
well that does make some sense
geekosaur 2017-02-09 21:54:20
but if it's polymorphic enough then it can't infer such a constraint
dhalgren_ 2017-02-09 21:55:05
Lokathor: wiki mentions locals and "someone who'll explain what's going on" what are your thoughts on NPCs? dumb or complex? do they have emotional states or track knowledge? and dialogue system? are they trees? simple ASK/TELL w/o context? or do you model contexts and topic transitions etc while maintaining freedom to ask/tell about anything? etc?
Lokathor 2017-02-09 21:56:31
dhalgren_, Well, I'd say to PM me, but I'm about to go to bed anyway. I am interested in thinking about this though. How about file an issue on the repo and I'll get back to you?
dhalgren_ 2017-02-09 21:56:55
Lokathor: yeah, sure
mniip 2017-02-09 22:42:40
:t (>>>)
lambdabot 2017-02-09 22:42:42
forall k (cat :: k -> k -> *) (a :: k) (b :: k) (c :: k). Category cat => cat a b -> cat b c -> cat a c