typeclass

    2

    3答えて

    これを正確にフレーズする方法はわかりません。誰かがそれに合った名前を持っていれば教えてください。 私はMatchableと呼ばれるtypeclassを書こうとしています。このアイデアは、私が(RegExp a、ComplexRegex a)の正規表現をいくつか入力して一致させることができるはずです。 だから私はこの試みた: class Matchable a where -- regex

    0

    1答えて

    代数型の階層で型クラスを設定する際に問題があります。 私は、以下の特徴を持っている: trait Field[F]{...} trait VectorSpace3[V,F] extends Field[F]{...} は、私は実装を提供したい知っている: trait DoubleIsField extends Field[Double]{ ... } trait Doubl

    0

    1答えて

    これは本当に簡単なはずですが、私はかなりの時間この時点で固執しています。 haskellでは、特定のデータ型のリストの型クラスのインスタンスを作成できますか? 私が達成したいことは次のとおりです。私はこの問題を解決する方法を知っていただきたいと思います、なぜこれが許可されていない * Illegal instance declaration for `Rename [Atom]' (A

    0

    1答えて

    私は作成したタイプの型クラスインスタンスを作成しようとしていますが、問題が発生しています。 data PlusMinus a = Plus a | Minus a | Zero deriving(Eq,Show) Essentialy我々は、3種類のデータコンストラクタを持っており、Numのインスタンスは、これらの異なるコンストラクタに基づいて異なる動作をする必要があるタイプを持っています。

    2

    1答えて

    数値の素因数分解を見つけるための小さなプログラムを作成しました。 main関数を除いてすべてコンパイルされているように見えますが、Show1インスタンスが見つからないという不満があります。 {-# LANGUAGE DeriveFunctor #-} module FactorAnamorphism where import Data.Functor.Foldable import Da

    4

    3答えて

    : だからここでは例を行く: object CsvEncoder { // "Summoner" method def apply[A](implicit enc: CsvEncoder[A]): CsvEncoder[A] = enc // "Constructor" method def instance[A](func: A => List[

    1

    1答えて

    型崩れを使用してのADTの列挙に関する@TravisBrownによって上空啓発questionに続いて、私は次のコードスニペットが残っています:私は持っていないように私はメソッド内でこれをカプセル化したい implicitly[EnumerableAdt[Foo]].values 各呼び出しの後に.valuesに(これは私にとってはよりクリーンなAPIのようです)。 しかし、私はそれを正しくす

    2

    1答えて

    私はタイプFooを持っていると私はGHCiの中でそれを使用することができるように、それShowのインスタンスにしたい: data Foo = Foo instance Show Foo where show Foo = "Foo" 私はそれを使用しようとすると、しかし、私はあいまいな出現エラーが表示されます。 ghci> show Foo <interactive>:4:1:

    3

    1答えて

    貧しい私の英語については残念です。タイトルは、私が意味することを説明しないかもしれません。 Data.Tree、Treeで は、以下のように定義される: -- | Multi-way trees, also known as /rose trees/. data Tree a = Node { rootLabel :: a, --^label value subFor

    8

    2答えて

    次typechecks: instance (Applicative f, Alternative f, Foldable f) => Monad f where (>>=) = flip $ \f -> foldr (<|>) empty . fmap f -- Or equivalently a >>= b = getAlt . foldMap Alt . fma