問題タブ [hlist]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1437 参照

scala - 関数内の HList のマッピング

次のコードは、コンパイルして実行するのに十分明らかなようです

しかし、コンパイラは「パラメータマッパーの暗黙的な値が見つかりませんでした」と言っています。私の使用例では、HList をマップして文字列の HList を取得し、次に文字列の HList を Scala List[String] に変換します。何か案は?

0 投票する
2 に答える
577 参照

scala - Shapeless: Coproduct を使用した独自の HList 制約

(注: Shapeless からの分割: HList 要素をそのタイプで制限しようとしています)

質問 2 - Coproduct を使用した独自の制約

私が本当にやりたかったのは、Coproduct を使用して新しい制約を作成することです。

// 暗黙的 val scpcEmptyLong2: CPConstraint[hlLong.type, CPType] = new CPConstraint[hlLong.type, CPType] {} // 上記の行は欠落している暗黙的なものに適合します - なぜ???

0 投票する
2 に答える
198 参照

haskell - ノードごとに任意の数の依存関係を持つ厳密に型指定された計算グラフを評価する

簡単な計算グラフを評価したいと思います。すべての非ターミナル ノードに 2 つの依存関係がある計算グラフのコードを作成することができました (これは任意の固定数の依存関係に簡単に拡張できます)。

問題は、メモが任意の数の依存関係を取得できるように、このコードを拡張するにはどうすればよいかということです。

何かのようなもの:

これには typefamily/hlist ソーサリーが必要だと思いますが、どこから始めればよいかさえわかりません。解決策とヒントを歓迎します。

0 投票する
1 に答える
299 参照

android - ランタイム ストレージからケース クラスへのデータの変換

android.os.Bundleこの方法でバンドルを生成することを目指して、APIを抽象化しようとしています。

ケース クラスを に変換しLabelledGeneric、キーと値のペアを に書き込むのBundleは簡単です。Bundleしかし、値を元の型に戻す方法が見つかりません。そこにある多数のJSONライブラリがすでにこの問題を解決していると思いますが、続行する方法の手がかりを見つけることができません。

また、 (括弧を省略して)Bundle.from[MyClass]ではなく、私が書くことができるような方法でコードを再構築する方法はありますか?Bundle.from[MyClass]()

0 投票する
0 に答える
68 参照

scala - クラス値からの HList/KList

列挙型のように動作するクラス/特性を作成できるようにしたい (HEnum以下の最初のスニペット)。各列挙値は異なる型を持つ可能性があるため、単純な列挙は使用できません (ただし、コンテナー クラスは同じになります) Key[A]。次のように大まかに列挙型を構築できるようにしたいと思います。

そして、次のような多かれ少なかれ基本的なHList操作を実行できるようにしたいと思います。

これまで、基礎となるデータ構造として をいじってきましたがHList、適切な型で構築するのは難しいことがわかりました。私の最も成功した試みは次のようになります。

ここでの問題は、インターフェイスがぎこちないことです。値のリストの末尾以外の場所に新しい値を追加すると、エラーが発生しやすくなりvalues、新しい値が導入されるたびに手動で更新する必要があります。私の解決策には、必要に応じて適切なタイプへのエラーが発生しやすい/安全でないキャストがHList含まれていません。List[Key[_]]

編集

また、ここで見つかった列挙型の例は特に役に立たないことにも言及する必要があります (ただし、それを適応させることができれば素晴らしいことです)。徹底的なパターン マッチのコンパイラ チェックが追加されたことは素晴らしいことですが (最終的にはそうしたいと思います)、この列挙型では依然として列挙値の同種のコレクションしか許可されません。

0 投票する
1 に答える
85 参照

scala - 値が引数の順序と一致しない形状のない HList を使用して Scala Function2 を呼び出す

私は同等のものを構築したいと思います:

リスト内の値は、N で 2 つの可能な値の組み合わせを選択するようなものでl.unify、関数の呼び出しに使用できるのは最大で 1 つです。追加のタイプ情報はありません。

Failure関数を呼び出す方法がない場合、結果はwithになるはずMatchErrorです。それ以外の場合、結果は になりますTry(f(a1, a2))

私はまだ形のないことに慣れており、この問題に取り組む方法についての提案をいただければ幸いです。