typeclass

    0

    2答えて

    タプルに基づいて再帰的インスタンス型を作成したいと思います。私が探しているものは、これと似たものです: class Provider a b where getInstance :: a -> b instance Provider a b => Provider (x, a) b where getInstance (x, a) = getInstance a ins

    1

    1答えて

    私は次のような問題があります。タイプクラスを定義し、このクラスのタプルをインスタンスとして宣言したいと考えています。しかし、私はGHCにこの宣言を受け入れる方法を知らない。ここでは非常に簡単な例: class Test a where elm :: a そして、私は instance (Test a, Test b) => Test (a,b) where elm = (e

    2

    1答えて

    任意のポインタとの重複インスタンスを回避?ここで GHC/AdvancedOverlap(溶液3) は、私が試したバージョンは次のとおりです。 {-# LANGUAGE DataKinds, FlexibleInstances, MultiParamTypeClasses, TypeFamilies, UndecidableInstances #-

    1

    1答えて

    ...やスカラ座をコーディングしているHaskellのプログラマの事故、 部5私はScalaでは、以下の構造: case class ResourceTree( resources: Map[String, ResourceTree] ) をそして、 Catsを使って、Semigroupのインスタンスを定義したいと思います。 object ResourceTreeInstances

    9

    2答えて

    SumとProduct newtypesの私の理解は、数値型のためのモノイドラッパーとして機能するということです。私はそれらの上にFunctorインスタンスを理解するだろうが、なぜまたApplicative、Monad他の多くの一見役に立たないインスタンスがありますか?私は彼らが数学的にはOKであることを理解しています(Identity modadと同形です、右?)しかし、ユースケースは何ですか?

    2

    1答えて

    私は、GADTが "GADT付きの式"の例をインターネットに散らばって使用しようとするまで、GADTは素晴らしいと思った。 伝統的なADTは、無料でEqの外見上の定義上の平等を親切に提供します。 (非常に当然のことながら)私が手 data Expr a where (:+:) :: (Show a, Eq a) => Expr a -> Expr a -> Expr a (:-

    7

    1答えて

    Control.Monad.Morph含まのインスタンスのいずれもMonad m制約を使用しない、私の知る限り class MFunctor t where hoist :: Monad m => (forall a. m a -> n a) -> t m b -> t n b が含まれています。どのようにそうすることができますか?制約を使用する有効なインスタンスがありますか(それは

    2

    2答えて

    レッツはタイプbがMonoidの固定インデックスのインスタンスであると言う私は、対応するデータを定義する型クラスIxに属するiで(v1,v2) :: (i,i)の範囲。配列型もMonoidになります。これはどうすればできますか?ここで、memptyは、アレイがmappendである必要がありますので、エントリmempty::bおよびmappendの配列である必要があります。 (例えばi=(Int,I

    0

    1答えて

    私は "例でPurescript"をもう一度再生し、特にch7の有効な検証コードで再生しています。言語が進化して以来(+演算子は非難され、修飾されたインポートはより簡潔です)、モジュールが船の形になっていると思ったとき、私はコンパイラからエラーを受けましたコードに「Show」と呼ばれる未知のtypeclassがあることを述べています。ショーはpurescript-preludeパッケージに含まれて

    0

    1答えて

    こんにちは私はハスケルで新しく、問題があります。 私たちは、このコード持ってそうするPartidaためとPartidas(Facturas)のリストについては、有効な方法を作成したい: data Bebida a b where { Bebida::(Integral a, Fractional b)=>{codigo::a, nombre::[Char], precio::b } -