(no subject)
Dec. 19th, 2012 02:38 pmТю, я думал, это в скале проблема, что нужно вручную прописывать, где мне нужно ApList.<*>, а где ZapList.<*>. А в Хаскеле вообще, стало быть, нельзя сослаться на разные реализации в одном модуле? Или как ещё late binding решается? (кроме, конечно, вручную написанного virtual method table словаря, как здесь: http://www.joachim-breitner.de/blog/archives/398-Making-dictionary-passing-explicit-in-Haskell.html)
no subject
Date: 2012-12-19 02:41 pm (UTC)no subject
Date: 2012-12-19 03:01 pm (UTC)no subject
Date: 2012-12-19 06:10 pm (UTC)no subject
Date: 2012-12-19 09:16 pm (UTC)I was only wondering how "smoothly" haskell code looked in McBride-Patterson (no fully-qualified name needed - everything used just plain <$>), but I think it is deceptive. If we wanted to mix both ApList and ZapList in the same module in haskell, there'd be a problem similar to what I tried to solve in Scala Kittens (try to create some scope, where <*> is treated as one of them, and if you wanted another one, use qualified name).
In this respect it is a problem similar to choosing a Monoid (Sum and Product exist - but which one do you need here, if you just write "mappend").
no subject
Date: 2012-12-20 04:47 am (UTC)no subject
Date: 2012-12-20 05:07 pm (UTC)no subject
Date: 2012-12-20 06:34 pm (UTC)Я пытался выразить эту идею по-другому, т.е. вид <*> выбирать в месте, где "вызывается" <*>.