私の自由な時間に私はHaskellを学んでいるので、これは初心者の質問です。私はEither aがFunctorのインスタンス作られる様子を示した例に出くわした私の読書で :今 instance Functor (Either a) where
fmap f (Right x) = Right (f x)
fmap f (Left x) = Left x
は、私がRight
私はハスケルを新しくしており、私は宿題のための電卓を実装しようとしています。私は2つの値で除算を行う必要がある場所に立ち往生しています。そのタイプは推論できない、または宣言/変換する必要があると考えています。私はこれを自分自身で解決する方法を学ぼうとしていますが、道に沿った洞察は役に立つでしょう。ここで はコードです:ここでは data Value e = OK e | Error String
Scalaには、タイプクラスとして使用できる多くの特性があります。には、OrderedとNumericなどのタイプクラスがあります。私は、例えば、このような Orderedを使用してジェネリックメソッドを書くことができます : def f[T <% Ordered[T]](a: T, b: T) = if (a < b) a else b
私はNumericと同じようなことをやってみたかったが
がどのように私はnewtypeに頼らず(a, a)Functorを作ることができる(a)のファンクタ? 基本的に私はそれがこのように仕事をしたい: instance Functor (a, a) where
fmap f (x, y) = (f x, f y)
しかし、もちろん、それを表現するための法的な方法ではないこと: Kind mis-match
The first argu