typeclass

    9

    2答えて

    例えば、私は型クラスを持っている: class MyClass a b c where fun01 :: a -> b fun02 :: a -> c fun03 :: a -> b -> c ->() fun04 :: a -> WhatEver 私は私のためのデフォルトの実装を提供したい、のは、それが自己とfun01とfun02の面でfun03の実

    0

    1答えて

    私は型パラメータを含むシングルトン型を試しています。私はそのシングルトン型のWitnessとそのネスト型の型クラスの両方を受け付ける関数を記述しようとしています。これは、(以下f1()とf2()を参照)それぞれを個別に取得するのは簡単ですが、私はそれが同時に動作するように取得することができませんでした: inferred type arguments [Nothing,Test.v.type] d

    1

    1答えて

    私はleanを学び、二つの要素xとyを取り、与えられたリストでyでxのすべての発生を置き換える置き換え機能を、定義したいしようとしています。 私はこのようにそれを定義しようとしました: def replace {α : Type}: α -> α -> list α -> list α | a b [] := [] | a b (x::xs) := (if a = x then b else

    0

    1答えて

    代わりにケースクラス val codecRegistry = fromRegistries( fromProviders( classOf[CaseClassNameGoesHere], ... ), ... ) ごとにハードコードされたラインを持っていることの私が代わりにそれらを作成することができますメソッドを作成したいと思います。

    0

    1答えて

    私はユーザーの入力に依存する型クラスを作成しようとしています。 sealed trait H case object Ha extends H case object Hb extends H と型クラス:我々はいくつかのケースオブジェクトを持っている想像し、私たちは持っていることを覚えて variableComingFromMainArgs match { case "a" =

    1

    1答えて

    グラフ用の関数をいくつか実装したいと思います。 型宣言がある:一つの機能については type Graph = Knoten -> [Knoten] 私はリスト[Knoten]を通過する必要があります。私は正しいアルゴリズムを持っていますが、[Knoten]にアクセスする方法はわかりません。ここで は私の試みです: ist_minimal :: Graph -> Bool ist_minima

    3

    1答えて

    私は数日前にフリーモナドのコンテキストでファンクタを注入することについてI asked a questionです。 Data Types à la Carteに基づいて、そこに提案されている解決策は、ファンクタ間の一種の包含関係を表すクラスを使用します。 -- | Class that represents the relationship between a functor 'sup' cont

    2

    1答えて

    私はMapとPartialMapと呼ばれる一対のタイプメスを定義しました。特に、それらは、Vまたはoption Vを超えているかどうかでのみ異なります。 PartialMapは、本質的にはMapという特殊なケースです。しかし、私はそれをどのようにエンコードするのか分かりません。 Class Map M K V: Type := { get: M K V -> K -> V; s

    2

    1答えて

    次のスニペットのための(番組の)実装を(https://stackoverflow.com/a/37461290/2129302)から検索された: tensor : Vect n Nat -> Type -> Type tensor [] a = a tensor (m :: ms) a = Vect m (tensor ms a) 私は次のように定義したいと思います: mkStr :

    3

    1答えて

    thisの記事で、implicitsを使用してScalaで型式をシミュレートする方法について説明しています。 私が間違っていない場合、再帰的インスタンス宣言の型クラスメソッド(Printer a => Printer (Option a))が使用されるたびに、新しいインスタンスが実行時に構築されます。ここにコードがあり、printが使用されるたびに、新しいPrinterインスタンスが実行時に作成さ