typeclass

    31

    4答えて

    私の自由な時間に私はHaskellを学んでいるので、これは初心者の質問です。私はEither aがFunctorのインスタンス作られる様子を示した例に出くわした私の読書で :今 instance Functor (Either a) where fmap f (Right x) = Right (f x) fmap f (Left x) = Left x は、私がRight

    5

    1答えて

    私は本当にそれを得ることができません。なぜ私たちはそれを必要としますか?つまり、同じ型パラメータを使用すると、同じ型のパラメータでなければならないということです。 コンパイラが無限ループを回避するのに役立つと聞きました。誰かがそれについてもっと詳細を教えてもらえますか? 最後に、Real World Haskellの関数依存性の使用法に従わなければならない「パターンと実践」はありますか? [フォロ

    0

    1答えて

    私がやっていることは、(私が書いている)状態モナドの特定の型で動作する関数をエクスポートすることです(以下の例では、そのタイプはFooとなります)。しかし、私は彼らが望むどんなタイプのMonadStateでも関数を使用できるようにしたいと考えています:State.Lazy、State.Strict、StateTなどです。そのため、その外側のモナドで多形でなければなりません。ここ は私がやりたいの例

    2

    2答えて

    私はハスケルを新しくしており、私は宿題のための電卓を実装しようとしています。私は2つの値で除算を行う必要がある場所に立ち往生しています。そのタイプは推論できない、または宣言/変換する必要があると考えています。私はこれを自分自身で解決する方法を学ぼうとしていますが、道に沿った洞察は役に立つでしょう。ここで はコードです:ここでは data Value e = OK e | Error String

    10

    3答えて

    Scalaには、タイプクラスとして使用できる多くの特性があります。には、OrderedとNumericなどのタイプクラスがあります。私は、例えば、このような Orderedを使用してジェネリックメソッドを書くことができます : def f[T <% Ordered[T]](a: T, b: T) = if (a < b) a else b 私はNumericと同じようなことをやってみたかったが

    19

    3答えて

    がどのように私はnewtypeに頼らず(a, a)Functorを作ることができる(a)のファンクタ? 基本的に私はそれがこのように仕事をしたい: instance Functor (a, a) where fmap f (x, y) = (f x, f y) しかし、もちろん、それを表現するための法的な方法ではないこと: Kind mis-match The first argu

    9

    2答えて

    は私が instance Dictionary [(String,String)] where insert key value dic = (key,value) : remove key dic remove key dic = filter (\entry -> (fst entry) /= key) dic lookUp key [] = "not found

    1

    2答えて

    こんにちは、私は、2.7.7と2.8の両方の環境で動作するScalaの型クラスの使い方の簡単な例を探しています。 私が見た例はすべて2.8でしか動作しませんが、タイプクラスは2.7.7でも実装可能であると言われています。 唯一の他の要件は、使用法がスクリプトで機能できることです。 おかげ

    8

    1答えて

    I持っているモデルSQLに似たクエリの最適化以下の型クラス: class OptimizableQuery q where type Optimized q :: * optimize :: q -> Optimized q instance Query q => OptimizableQuery q where type Optimized q = q

    5

    1答えて

    EDIT:解決済み。ソースファイルで言語拡張を有効にしてもGHCiで言語拡張が有効になっていないことはわかりませんでした。解はGHCiにおいて:set FlexibleContextsであった。 私は最近、Haskellのクラスとインスタンスの型宣言がホーン節であることを発見しました。そこで、私は、のプロローグのテクニックの第3章をハスケルに符号化しました。例えば:Prologで fac(0,s(