Foreign

CIntをIxクラスのインスタンスにする

CIntはIxクラスのインスタンスでないのでArrayのインデックスに使えません.
ArrayのインデックスとしてCIntを使うには,プログラムのどこかで

instance Ix CInt where
    range (m,n) = [m..n]
    inRange (m,n) i = m <= i && i <= n
    index b@(m,n) i
        | inRange b i   =  fromIntegral (i - m)
        | otherwise     =  error "Ix.index: Index out of range."

としておきましょう.

コメント欄


お名前: