haskell-ja > Archives > 2011/12/02

2011/12/02 02:53:37 UTCkazu
#
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
2011/12/02 03:04:45 UTCmaoe
#
https://github.com/bos/attoparsec/pull/5 が取り込まれれば問題なくなると思います。RHWでまさにこのことが書かれていたはずなんですが。。。
2011/12/02 03:16:55 UTCkazu
#
あー、さすがマイケル!
#
ところで、RWH 2 の計画はどこにいっちゃったんでしょうか?
2011/12/02 03:17:45 UTCnobsun
#
やっぱり type synonym の部分適用がしたいということになる。ICFPのときにOlegさんとの雑談でもそんな話をした。部分適用したい場面はたくさんあるけど、なんらかのtheorical reeasonがあって(肝心のその説明が理解できなかった)それができないというような話でした。誰かこのTheoretical reasonを説明してくれないかなぁ。他力本願モード
2011/12/02 11:27:00 UTCmaoe
#
injectivityと関係がありそうと当たりを付けてググったら見つけました。 http://stackoverflow.com/a/7950614/737714
#
7.2から部分適用を許すかもしれないとか。
2011/12/02 11:52:19 UTCshelarcy@twitter
#
いや、これは GHC(7.0.4 まで通っていたコードを)7.2.1 でコンパイルできないことに対する質問と、その回答ですね。で、GHC 7.4.1 のリリース後にこの問題の解決に手を付けるそうです。 http://t.co/zNa1ZrLV
2011/12/02 11:56:20 UTCshelarcy@twitter
#
type synonym の部分適用そのものではなく、 injective な type synonym families が欲しいということであれば、将来実装することを考えているそうですけれど…… http://t.co/QjMlxXbN
#
それ自体は多分別の話ですよね?