次の型アノテーションを持つ関数があります
{-# LANGUAGE FlexibleContexts #-}
dataLat :: Load r DIM1 Double
=> (Array r DIM1 Double -> Array U DIM1 Double, Array U DIM1 Double)
Array
、U
およびRepaライブラリDIM1
から取得されます。後でタプルとして他の関数に渡されるデータを作成します。ある時点で型変数は型と統合されますが(これもRepaからのものです)、後で型と統合する必要があります(これは私の型です)。問題は、それがすでに統合されているため、と統合できないことです。エラーが発生します。これは何らかの形の上位タイプで解決する必要があると思いますが、これをどのように書くべきかわかりません。誰か私に手を貸してもらえますか?dataLat
r
D
r
L
D
L
Couldn't match expected type