ushumpei’s blog

生活で気になったことを随時調べて書いていきます。

lake のパッケージの置き方

Lean4 では lake コマンドを使用してプロジェクトを作成する、作成したプロジェクトでパッケージの整理をする際に、少し詰まったのでメモしておく。結論はプロジェクト名のディレクトリを作成してそこにファイルを作るとインポートできる。

lake init を使用して作成したプロジェクトの Main.lean から、適当に作った Hoge/Fuga.leanimport Hoge.Fuga でインポートしようとしたがうまくいかなかった。

そこで自分のプロジェクト名 (ここでは Playground) のディレクトリを作成し、その中に Hoge/Fuga.lean を移動し import Playground.Hoge.Fuga でインポートするとうまくいった。

いちいちプロジェクト名のディレクトリを作成しないといけないのだろうか?そういえば既存のライブラリとかは src ディレクトリを置いているのを見たことがある、ということで調べると lakefile.leansrcDir という設定をかけることがわかった。しかしこれもあまり意味がなかった、単に src/Playground/Hoge/Fuga.leanimport Playground.Hoge.Fuga でインポートできるようになるだった。

この辺りのコード を見てみても import する場所の指定はなさそうだった。名前が衝突するなどの理由から無理なのだろうか?

感想

  • ドキュメントの不足