#attoparsec 0.10 で下位互換性がなくなりました。
#ほとんどの変更は無害なのですが、Parser という型が data から、type に変更されました。
#type Parser a = Parser ByteString a
#右の Parser は、実際には T.Parser みたいになっています。
#type だと部分適用できないので、
#これまで OK だった以下のコードが通らなくなりました。
#type SGet = StateT PState Parser
#Parser の型には手が出せないのですが、どうやって解決したらいいでしょうか?
#T.Parser は公開されてないので、お手上げです。
#されていたら、
#type SGet = StateT PState (T.Parser ByteString) で OK なような気もします。
#あ、失礼。公開されてました。orz
#https://github.com/bos/attoparsec/pull/5 が取り込まれれば問題なくなると思います。RHWでまさにこのことが書かれていたはずなんですが。。。 #あー、さすがマイケル!
#ところで、RWH 2 の計画はどこにいっちゃったんでしょうか?
#やっぱり type synonym の部分適用がしたいということになる。ICFPのときにOlegさんとの雑談でもそんな話をした。部分適用したい場面はたくさんあるけど、なんらかのtheorical reeasonがあって(肝心のその説明が理解できなかった)それができないというような話でした。誰かこのTheoretical reasonを説明してくれないかなぁ。他力本願モード
##7.2から部分適用を許すかもしれないとか。
#いや、これは GHC(7.0.4 まで通っていたコードを)7.2.1 でコンパイルできないことに対する質問と、その回答ですね。で、GHC 7.4.1 のリリース後にこの問題の解決に手を付けるそうです。 http://t.co/zNa1ZrLV #type synonym の部分適用そのものではなく、 injective な type synonym families が欲しいということであれば、将来実装することを考えているそうですけれど…… http://t.co/QjMlxXbN #それ自体は多分別の話ですよね?