Python では、特定のパッケージが次のように存在する場合、必要に応じて少しのコードを実行できます。
try:
import asd
# do something with asd
except ImportError:
print "no module asd"
Haskellに相当するものはありますか?
Python では、特定のパッケージが次のように存在する場合、必要に応じて少しのコードを実行できます。
try:
import asd
# do something with asd
except ImportError:
print "no module asd"
Haskellに相当するものはありますか?
モジュールのインポートはコンパイル時にGHCで解決されるため、直接ではありません。ただし、Cabalを使用している場合(そしてそうする必要があります!)、構成フラグに従ってパッケージに条件付きで依存し、CPP
その依存関係が存在するかどうかに応じて拡張機能を使用してコードをコンパイルできます。
#if MIN_VERSION_somepackage(0,0,0)
...code using somepackage...
#else
...code not using somepackage...
#endif
ただし、これは少し厄介なので、本当に必要な場合を除いて、使用することはお勧めしません...
また、プラグインを使用すると、実行時に新しいライブラリを使用できる場合があります。
いいえ。Haskell コンパイラは、未定義の関数の使用を拒否するのと同様に、見つからないモジュールをインポートするプログラムを拒否します。