ひたすらググって見つけたのをメモするだけのエントリ
これ
FreeモナドとTagless FinalによるDependency InjectionのためのDSL
に触発されてというか、今まであまりtagless final理解してなかったというか注目してなかったけど、改めて探してみたら、Scalaでの例もすでにそれなりにある、という。
とくにFP in Scalaの作者は二人とも既に知ってたみたいだし、pchiusanoさんのほうはblogまで書いてましたね(当時読んだけど、理解できてなかったので、もう一度読もう)
runaroramaさんもTypeTagがどうとか言ってて気になるけど、まだ下に貼ったやつ全然よんでないし、自分の中での結論よくわかってないので、もうちょっと考えて整理できたらなにか書くかもしれません。
ただ、Tagless final流行らずに?Freeばかり流行ってる?のは、FreeのほうがTagless finalにない利点があるのでは?くらいななんとなくな想像だけしてますが、あくまで想像なのでよくわからないです。
- https://docs.google.com/presentation/d/13SWwXkzTj1YwPK66of_o9bGk7MLompJZlJasEe5J5Co/edit?usp=sharing
- http://www.meetup.com/Scala-Montreal/events/192979402/
- https://gist.github.com/suhailshergill/ad4392eda1a55b29303f
- https://gist.github.com/pchiusano/10678834
- https://gist.github.com/runarorama/78c8fefbab74701afab3
- https://github.com/vjovanov/finally-tagless
- http://pchiusano.github.io/2014-05-20/scala-gadts.html
Trying to implement a tagless partial evaluator in Scala, but I think the TypeTag nonsense makes it impossible for it to preserve types.