haskell / haskell/binary

MonadFix instance required

オープン
#168 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Haskell
スター
120
フォーク
70
PR マージ指標
30日以内にマージされた PR はありません

説明

Hi, I need a MonadFix instance for the Put monad so I can use the length of an expressions output as a parameter to construct the expression (for example, to output the offset to the end of a header at some place within the header itself).

I attempted to write the instance of MonadFix but there is excess strictness somewhere that causes the fixedpoint to be undefined: https://github.com/code5hot/binary/commit/551591dd05e3cb7769a2d61fdc16d8f45a69b88e#commitcomment-34039617

Any suggestions on how to complete this mfix implementation?

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

コミット 551591dd05e3cb7769a2d61fdc16d8f45a69b88e で試みられた MonadFix 実装から始め、固定点の周辺における Put モナドの strictness を調べてください。式を構築している間にその式の出力長を使用でき、未定義の固定点を生成しない MonadFix インスタンスを実現できれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
haskell
領域
data
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。