2016-04-22 9 views

答えて

5

は、実際には2つのパラメータを持っていると言う:私が試したafを。 determining parameterと呼ばれ、ここで

interface Num a => Color (a : Type) (f : a -> Type) | f where 

f:しかしfimplementationを選ぶのに十分でなければなりません。

ここでは無意味な完全な例です:

import Data.Fin 

interface Num a => Color (a : Type) (f : a -> Type) | f where 
    foo : (x : a) -> f (1 + x) 

Color Nat Fin where 
    foo _ = FZ 

x : Fin 6 
x = foo {f = Fin} 5 
+1

おお、私は2つのパラメータインタフェースを持っていたが、私は、私は '使用することができます実現しませんでした| f 'を選択するだけで強制的に、これは優れています。 – ScarletAmaranth

関連する問題