hlist

    6

    1答えて

    質問1 HList要素を制限しようとすると - 基本LUBConstraints既存LUBConstraintsで遊んで私の最初の試みは、証拠を(下のコードブロックを参照してください)不足しているために失敗した を。なぜか何かヒント?空のリストに有効な長さのリストはありませんか?どの要素も制約に違反しません。 import shapeless.ops.coproduct import shape

    0

    1答えて

    一部のデータが変更され、保存する必要があることをユーザーに警告しようとしています。データはPerlのTk :: HListボックスに表示されます。私は私が行うことができます願っていた。 if ($new_item) { $HList->add($stock_no,-background=>"red"); } かさえ: if ($new_item) { $HList->it

    7

    1答えて

    HaskellDBに関する最近の記事で、私は再度HListを調べる意欲がありました。 GHCに-XDataKindsがありますが、実際には異種リストの例がありますので、HListsがDataKindでどのように見えるかを調べたいと思っていました。これまでのところ、私は次のようしている: {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiPa

    2

    2答えて

    私は、それぞれが特定の型の結果を返す無限の一連のアクションを持っているとしましょう。以下のような何か: newtype Stream a = Stream (IO (a, Stream a)) しかし、時間の経過とともに変化aと。このシーケンスを強く入力したいと思います。 data HStream :: [u] -> * where Cons :: Proxy x -> HStream xs

    3

    1答えて

    私はparamsなしの方法があると仮定します。どのようにタイプパラメータの長さを決定できますか? def func[T <: HList]: Nat = { // some magic }

    0

    1答えて

    は、私は数が少ない我々はだから私は私のコードでは、このfunc よう func(Set(1, 2) :: Set(3, 4) :: HNil, f) を使用することができます方法 def func[T <: HList](hlist: T, poly: Poly) (implicit mapper : Mapper[poly.type, T]): Unit = { hlis

    5

    1答えて

    の内側に次のコードは、 case class Pair(a: String, b: Int) val pairGen = Generic[Pair] object size extends Poly1 { implicit def caseInt = at[Int](x => 1) implicit def caseString = at[String](_.lengt

    5

    1答えて

    私はこの方法でバンドルを生成することを目指し、android.os.Bundle APIの上に抽象化しようとしています: case class MyClass(a: Int, b: String) val mc = MyClass(3, "5") implicit val bundleable = Bundle.from[MyClass]() val bundle = bundleable.

    5

    2答えて

    私はHList実装を行っていますが、私はmap関数を実装しようとしています。私はさまざまなアプローチを試してきましたが、それぞれについて、その関数に関連するコンパイラエラーが発生します。 以下は、入力データ構造のすべての要素に汎用関数Justを適用する方法の例です。 No instance for (Apply (a0 -> Maybe a0) Int (Maybe Int)) aris

    1

    1答えて

    HListベースの型付き異種リストを試しています。 私は次のように定義されています import Data.HList data ATag data BTag type TagList = ATag :*: BTag :*: HNil bIndex :: Int bIndex = hNat2Integral (hFind (undefined :: BTag) (undefined