# Rename.hs ## はじめに このモジュールは、Parser の出力する抽象構文 (Absyn) を変換して、型推論可能な形にする。 主な仕事は以下の通り: - 結合性の解決 (fixity resolution) - 変数のリネーミング(α変換) - 脱糖 (desugar) - パターンマッチの変換(これは脱糖の一種ともいえる) - 型やクラス、データ宣言の処理 これらのうち、2020年4月時点では、最初の4項についてはほぼ実装済みだが、最後の「型やクラス宣言の処理」については、 ごく一部しか実装できていない。これらを実装していきながら、この記事を書いていくことにする。 ※ 脱糖のうち、ごくいちぶ(Typing に合わせるためのもの)は、Rename で、パターンマッチ変換などは、TrCore で実施している。 ## Tickets (または todo) ### renSigdoc (A.Tycon n) のハードコーディングをなおす issued: 2020-04-05 renSigdoc (A.Tycon n) のハードコーディングをなおすには、定義済の型コンストラクタから型への辞書を持つ必要がある。 ユーザ定義型の型宣言に対応するには、それに先立ってやっておく必要あり ### sigdoc1.hs が Variable not found になる issued: 2020-04-05 型宣言がリネームをみだしている模様。