Haskellでライブラリモジュールを拡張する方法はありますか?
firstToLower
たとえば、に機能を追加したいと思いData.String
ます。自分Data.String
で作成すると、ライブラリ 1 がマスクされます。
module Data.String where
import Prelude
import Data.Char (toLower)
firstToLower :: String -> String
firstToLower (c:cs) = toLower c : cs
firstToLower "" = ""
次に、しようとするとエラーが発生しますimport Data.String (lines)
:
Module `Data.String' does not export `lines'
そんなことができたら本当にいいですね。そうでない場合、そのような状況でのベスト プラクティスは何ですか? そのような拡張機能はどこに配置する必要がありますか?
ありがとうございました。
アップデート
拡張機能をライブラリとしてリリースする予定はありません。プロジェクト内で意味のある方法で整理したいだけです。