C++ から来た私は、単純な形式のコンパイル時アサーションを作成することに慣れていました。テンプレート メタを使用していくつかの単純な条件 (単純な代数式など) が満たされない場合、コンパイル中に警告またはエラーを発生させることができました。 -プログラミングおよび/またはcpp(1)
Int
たとえば、少なくとも特定のminBound
/範囲がある場合にのみプログラムがコンパイルされるようにしたい場合、または現在のコンパイルターゲットでからへmaxBound
の損失のない (可逆的な) 変換が可能である場合。GHC Haskell拡張機能でこれは可能ですか? 私の最初の推測は、THを使用することでした。この目的のために悪用できる GHC 施設は他にありますか?Int64
Int