3

hsc2hs を介して取得した型に SPECIALIZE プラグマを使用しようとしています#type

私はこのようなことを試しました:

{-# SPECIALIZE someFn :: #{type DWORD} -> #{type DWORD} -> Bool #-}
someFn :: Eq a => a -> a -> Bool

parse error on input '#'その試みは(最初の) で失敗します#{type DWORD}

私はうまくいくことがわかった答えを出しましたが、よりクリーンなもの、より正確には、モジュールのコード全体に影響を与えないものを本当に望んでいます。

4

1 に答える 1

4

宣言#typeを使用して委任することが可能です。type

type SDWORD = #{type DWORD}
{-# SPECIALIZE someFn :: SDWORD -> SDWORD -> Bool #-}
someFn :: Eq a => a -> a -> Bool
于 2015-09-22T22:54:33.387 に答える