問題タブ [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 に答える
657 参照

scala - Nat に関する HList 型パラメータの長さ

パラメータのないメソッドがあるとします。型パラメータの長さを決定するにはどうすればよいですか?

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

python - Tkinter Tix チェックリスト Hlist ヘッダー構成オプション

tcl/tk の専門家が、 Tix CheckList Hlist Headerに関するこの超ニッチな質問に答えてくれることを願っています。私がしたいのは、背景色を醜い灰色から白に変更することだけです。

tix で何にでも使用できるオプション (cnf={}または) を知ることさえ非常に難しいと思います。**kw私は、self.checklist.hlist.config().keys()どのリターンができるかを発見しました:

どのオプションが利用可能かを確認するために、実際のヘッダー オブジェクトに対してこれを行う方法がわかりません。

これは次のようになります。

Tix CheckList Hlist ヘッダー

これを作成するコードは次のとおりです。

追加情報:

ちなみに、私は主にこのサイトを使用して、どのメソッドが利用可能かを把握していますhlist- http://epydoc.sourceforge.net/stdlib/Tix.HList-class.html

この例も役に立ちました: https://svn.python.org/projects/stackless/trunk/Demo/tix/samples/SHList2.py

何を試した...

たくさんのことが何時間も続きます。これは次の場所にあるべきだと思います:

しかし、私は試しました: background, selectbackground, bg, color... など。それらはすべて同じ_tkinter.TclError: unknown option "-NAMEHERE"メッセージで終了します。

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

scala - 戻り値で型情報が失われないようにする

メソッドの戻り値で型情報が失われないようにする方法を見つけようとしています。

私は次のものを持っています:

IntelliJs の「型アノテーションを追加」を使用すると、次の型が得られます。

mkDefault を呼び出すときに Person のフィールドを指定したくないことを除けば、これで問題ありません。だから私はこれを作成しました:

今私はできる:

IntelJ から推論された型が次のようになることを除いて、これは良いことです。

defs1 の推定型を defs0 の推定型と等しくするにはどうすればよいですか?

*クラス Person のフィールドを指定する必要なし

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

scala - 複数の JsResult を Shapeless と組み合わせる

複数の JsResult を 1 つに結合する方法を探しています。Shapeless を使用しない最初の試みは次のとおりです。

私が欲しいのは、n JsResult を取り、それらを単一の JsResult[(A,B,C,...)] に結合する関数です。これで、アリティの抽象化に関する scala の制限がわかりました。Shapeless で複数のコードを試しましたが、JsResult が型コンストラクターであり、差異の問題であるため、コンパイルできませんでした。私が考えているアルゴリズムは次のとおりです。

Any 型の JsResult の HList を引数とする関数を書く。初期要素として JsSuccess(HNil) を使用し、折りたたみ関数として上記の関数のバリエーション (結果の型を JsResult[HList] に変更) を使用して、リストの foldRight を作成します。

これが私の最終的なコードです(コンパイルしていません)

この問題を解決する方法を理解していただき、ありがとうございます。

編集:私はいくつかの進歩を遂げました

このコードがコンパイルされると、JsResult[_] のリストが JsResult[HList] に正常に変換されます。次に、その HList をタプルに変換して、ケース クラスのタプル メソッドに渡す必要があります。Generic オブジェクトの使用に関する例を見ましたが、Generic[some case class].to メソッドが HList の代わりに Repr 引数を想定しているため、コンパイルされません。誰にもアイデアはありますか?ありがとう

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

scala - 形のない HList の型をマップする

値にアクセスせずにHList、scala のパッケージからの型をマップしようとしています。shapeless

以下は、HList の値のマッピングに成功します。

涼しい!implicitly[A =:= B]何らかの理由で使用できないことは別として、 an の値はHListマップされているため、その型もあります。

ここで、値を持っていないが、HListその型はわかっているとします。その型をどのようにマッピングできますか?

map hereの定義に基づいて、次のことを試しました。

HList値にアクセスせずに、マップされた型を取得するにはどうすればよいですか? コンパイラが何かを証明できない理由をデバッグする方法はありますか? 読んでくれてありがとう。

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

scala - Scala、gremlin-scala、HLists、Poly2、RightFold、および欠落している暗黙的なプリペンド

そのため、一連の操作を from にカプセル化して、それらを実行できるようにしようとしgremlin-scalaHListRightFoldます (これにより、gremlin クエリをデータとして構築できます: 具体的にはHListof Operations)。

これが私が言いたいことです:通常、あなたはgremlin-scalaそうするように電話をかけることができます:

これで問題ありませんが、クエリをデータとして構築できるようにしたいと考えています。私はこれを次HListOperationsようにモデル化しています:

HList次に、これらを次のように配置してクエリを作成できます。

これらが にあるHListので、 を実行して、RightFoldそれらを 1 つずつグラフに適用できます。

そして、次のように呼び出します。

これはすべて機能します!そして、大きな約束を示しています。

ここで私の問題にたどり着きます:as操作でこれを実行しようとすると、Operationコンパイルすることができます:

(コンパイラが別の方法で不平を言っていたので、そこに追加し(implicit p: Prepend[In, ::[A, HNil]])ました)...しかし、このケースの暗黙的なハンドラーを他のものと一緒に作成しようとすると、失敗します:

だから、ここでいくつかの質問:

  • これは何を暗示Prependしているのですか? なぜそれが必要なのですか?
  • Prepend通常の呼び出し時に暗黙的なものを見つけることができるのに、それを上書きasしようとすると失敗するのはなぜRightFoldですか?
  • の暗黙的なインスタンスを作成するにはどうすればよいPrependですか?
  • 作成したら、どのように呼び出しに渡しますoperateか?
  • これを行う正しい方法は何ですか??

もっと質問があるかもしれませんが、これらが主なものです。私は型レベルのプログラミングとシェイプレス全般について読んでいて、本当に気に入っていますが、この種のものは気が狂っています。ここに欠けている微妙なタイプのものがあることは知っていますが、欠けているものをどこから解読し始めればよいかを知るのは困難です。

助けてくれてありがとう!scala と shapeless をこよなく愛し、早くこの障害を乗り越えたいと思っています。

編集: ここで問題を再現する最小限のレポを作成しました: https://github.com/bmeg/leprechaun

うまくいけば、それは役に立ちます!

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

json - Circe を使用して、HList を含むケース クラスを JSON 文字列に解析する

私はScalaで何かをしています。私は次のケースクラスを持っています:

Circeを使用して、このタイプの JSON 表現を取得したいと思います。また、結果の JSON 文字列を型にマップし直したいと思います。

モジュール circe-shapes は、HList の自動派生を行い、HList から JSON へ、およびその逆を簡単に実行できます。次の例を参照してください。

「標準」タイプを含むケース クラスも自明です。

HList の型を明示的に指定すると驚くほどうまくいきますが、HList の目的が少し損なわれます。

Circe は任意の HList をデコードできますか?

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

scala - Scala は形状のない HList の依存型を派生させません (Aux を使用)

String を Integer に変換できる型依存の Converter 型クラスがあるとします。

HLists で動作するようにしたいと思いInteger :: HNilます。理論的には、必要なのは HNil と HList の暗黙的なものだけです。

上記は HNil に対して正常に機能します。

しかし、HList ではありません。興味深いことに、インスタンスは見つかりますが、結果の型は派生しません。

問題をデバッグするためにさらにいくつかの(失敗した)試みがある自己完結型のプロジェクトでそれを設定しました:https://github.com/mpollmeier/shapeless-dependent-type-typeclass-problem

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

scala - Shapeless zipWithKeys: 暗黙的なパラメーターが見つかりませんでした

最近シェイプレスで遊んでます。私が頭を包むことができないこの非常に基本的なことがあります:

このスニペットが拡張可能なレコードを出力することを期待しています。しかし、コンパイラは暗黙の for を見つけることができませんwithKeys:

Shapeless のテスト ケースから取った例は完全に機能するため、さらに混乱します。

私は何が欠けていますか?

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

types - Rust の型レベル マップ

有効なマップが特性を実装するように、連想リストとして実装された 2 つの型の間の型レベルのマップを作成しようとしています。

nil の場合は簡単です:

ただし、短所がわかりません:

もちろん、これは「TypeLevelMap<_, _>タイプのトレイトの競合する実装」というエラーを出しますTypeLevelMapCons<_, _, _, _, _>。Rust に最初のものを優先するように指示する方法がわかりません。!=専門化は役に立ちませんでした。どこにも境界はありません。

それらを明確にする方法はありますか、これを実装する別の方法はありますか、それとも (現在の) Rust で実装することは不可能ですか?