2012-06-14 8 views
13

私はモジュールを作成しました。モジュールがインポートされるメインコードを実行するには、言語拡張子が{-# LANGUAGE OverloadedStrings #-}である必要があります。もちろん、コンパイル時にオプションを指定する必要があります。言語拡張を「隠す」ことは可能ですか?

モジュールに{-# LANGUAGE OverloadedStrings #-}を含めると、これはうまくいきません。ユーザーはコードでもコンパイルする必要があります。

エンドユーザーからこの問題を解決するために、実際のモジュールで「何か」できることがありますか?また、必要な言語拡張子を「隠す」ことができますか?

答えて

13

いいえ、ライブラリでは、言語拡張が必要な​​機能が公開されています。これはあなたの文書や例で述べるべきことです。それをユーザーコードで有効にする方法はありません。

10

-XOverloadedStringsであり、決してであることに注意してください。すべての拡張機能は、大まかに言えば、"I'm a string"fromString "I'm a string"に変換します。拡張機能がなければ、ユーザーはいつでも同じことをすることができます。

関連する問題