この記事は Haskell Advent Calendar 2013 1日目後半の記事です.前半の記事もよろしく. 「ある露出モジュールAで隠蔽モジュールA.Xをimportし,AでA.Xのシンボルを選択的に(あるいはモジュールごと全部のシンボルを)露出させることで,AとA.Xを含むパッケージAから提供するインターフェースをコントロールする」ことができる再exportは,パッケージ内部でのモジュール構成をパッケージ外への公開状態とは切り離すことのできる,とても便利ですばらしい機能だ. module A ( foo, bar, baz, module A.Y ) where import A.X ( baz ) import A.Y foo = ... bar = ... ただし,これがパッケージを跨いで行われる場合,その事情は相当異なってきて,結論から言うならば害悪だと思っている. あるパ