問題タブ [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.
scala - Nat に関する HList 型パラメータの長さ
パラメータのないメソッドがあるとします。型パラメータの長さを決定するにはどうすればよいですか?
python - Tkinter Tix チェックリスト Hlist ヘッダー構成オプション
tcl/tk の専門家が、 Tix CheckList Hlist Headerに関するこの超ニッチな質問に答えてくれることを願っています。私がしたいのは、背景色を醜い灰色から白に変更することだけです。
tix で何にでも使用できるオプション (cnf={}
または) を知ることさえ非常に難しいと思います。**kw
私は、self.checklist.hlist.config().keys()
どのリターンができるかを発見しました:
どのオプションが利用可能かを確認するために、実際のヘッダー オブジェクトに対してこれを行う方法がわかりません。
これは次のようになります。
これを作成するコードは次のとおりです。
追加情報:
ちなみに、私は主にこのサイトを使用して、どのメソッドが利用可能かを把握しています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"
メッセージで終了します。
scala - 戻り値で型情報が失われないようにする
メソッドの戻り値で型情報が失われないようにする方法を見つけようとしています。
私は次のものを持っています:
IntelliJs の「型アノテーションを追加」を使用すると、次の型が得られます。
mkDefault を呼び出すときに Person のフィールドを指定したくないことを除けば、これで問題ありません。だから私はこれを作成しました:
今私はできる:
IntelJ から推論された型が次のようになることを除いて、これは良いことです。
defs1 の推定型を defs0 の推定型と等しくするにはどうすればよいですか?
*クラス Person のフィールドを指定する必要なし
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 引数を想定しているため、コンパイルされません。誰にもアイデアはありますか?ありがとう
scala - 形のない HList の型をマップする
値にアクセスせずにHList
、scala のパッケージからの型をマップしようとしています。shapeless
以下は、HList の値のマッピングに成功します。
涼しい!implicitly[A =:= B]
何らかの理由で使用できないことは別として、 an の値はHList
マップされているため、その型もあります。
ここで、値を持っていないが、HList
その型はわかっているとします。その型をどのようにマッピングできますか?
map
hereの定義に基づいて、次のことを試しました。
HList
値にアクセスせずに、マップされた型を取得するにはどうすればよいですか? コンパイラが何かを証明できない理由をデバッグする方法はありますか? 読んでくれてありがとう。
scala - Scala、gremlin-scala、HLists、Poly2、RightFold、および欠落している暗黙的なプリペンド
そのため、一連の操作を from にカプセル化して、それらを実行できるようにしようとしgremlin-scala
てHList
いRightFold
ます (これにより、gremlin クエリをデータとして構築できます: 具体的にはHList
of Operations
)。
これが私が言いたいことです:通常、あなたはgremlin-scala
そうするように電話をかけることができます:
これで問題ありませんが、クエリをデータとして構築できるようにしたいと考えています。私はこれを次HList
のOperations
ようにモデル化しています:
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
うまくいけば、それは役に立ちます!
json - Circe を使用して、HList を含むケース クラスを JSON 文字列に解析する
私はScalaで何かをしています。私は次のケースクラスを持っています:
Circeを使用して、このタイプの JSON 表現を取得したいと思います。また、結果の JSON 文字列を型にマップし直したいと思います。
モジュール circe-shapes は、HList の自動派生を行い、HList から JSON へ、およびその逆を簡単に実行できます。次の例を参照してください。
「標準」タイプを含むケース クラスも自明です。
HList の型を明示的に指定すると驚くほどうまくいきますが、HList の目的が少し損なわれます。
Circe は任意の HList をデコードできますか?
scala - Scala は形状のない HList の依存型を派生させません (Aux を使用)
String を Integer に変換できる型依存の Converter 型クラスがあるとします。
HLists で動作するようにしたいと思いInteger :: HNil
ます。理論的には、必要なのは HNil と HList の暗黙的なものだけです。
上記は HNil に対して正常に機能します。
しかし、HList ではありません。興味深いことに、インスタンスは見つかりますが、結果の型は派生しません。
問題をデバッグするためにさらにいくつかの(失敗した)試みがある自己完結型のプロジェクトでそれを設定しました:https://github.com/mpollmeier/shapeless-dependent-type-typeclass-problem
scala - Shapeless zipWithKeys: 暗黙的なパラメーターが見つかりませんでした
最近シェイプレスで遊んでます。私が頭を包むことができないこの非常に基本的なことがあります:
このスニペットが拡張可能なレコードを出力することを期待しています。しかし、コンパイラは暗黙の for を見つけることができませんwithKeys
:
Shapeless のテスト ケースから取った例は完全に機能するため、さらに混乱します。
私は何が欠けていますか?
types - Rust の型レベル マップ
有効なマップが特性を実装するように、連想リストとして実装された 2 つの型の間の型レベルのマップを作成しようとしています。
nil の場合は簡単です:
ただし、短所がわかりません:
もちろん、これは「TypeLevelMap<_, _>
タイプのトレイトの競合する実装」というエラーを出しますTypeLevelMapCons<_, _, _, _, _>
。Rust に最初のものを優先するように指示する方法がわかりません。!=
専門化は役に立ちませんでした。どこにも境界はありません。
それらを明確にする方法はありますか、これを実装する別の方法はありますか、それとも (現在の) Rust で実装することは不可能ですか?