13

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

モジュールにを含めた場合、{-# LANGUAGE OverloadedStrings #-}これは解決策ではなく、ユーザーはコード内またはコンパイル時に同じことを行う必要があります。

エンドユーザーからこの問題を取り除き、いわば必要な言語拡張を「隠す」ために、実際のモジュールで「何か」を行うことができる方法はありますか?

4

2 に答える 2

13

いいえ、ライブラリは言語拡張機能の使用を必要とする機能を公開しています。これは、ドキュメントと例で述べる必要があります。ユーザーコードでオンにする方法はありません。

于 2012-06-14T14:52:02.597 に答える
10

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

于 2012-06-14T20:41:30.963 に答える