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

scala - HList からの検証をケース クラスに適用する

アプリケーションファンクター (単一で失敗するだけでなく、複数の例外をキャッチするモナド) で検証を試みたときに、14 を超えるファンクターを禁止する scalaz のハードリミットに遭遇したので、ここからの有益なコメント ( https://github .com/scalaz/scalaz/issues/504#issuecomment-23626237 ) は、アプリケーション ファンクターの代わりに HList を使用するように案内してくれました

今では完全に正常に動作します (Maven https://github.com/typelevel/shapeless-contrib/blob/master/scalaz/main/scala/sequence.scalaにないため、ここからこのシーケンス ファイルを手動で配置する必要がありますか?ソース=c )

私の質問は、これが可能であることを知っています。case class Foo(i:Int,s:String)手動でパターンをケースと一致させることなく、パラメーターを再度適用するだけで、自動的にインスタンス化する方法を教えてください。

本質的に私はこのようなことをしたい

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

scala - 新しい Slick 2.0 HList を使用して 22 列の制限を克服するにはどうすればよいですか?

現在、22 列を超える 2 つのテーブルを持つ古いスキーマを対象とする Slick コードを作成しています。新しい HList コードを使用するにはどうすればよいですか? Scala 2.10.3 では、2.0-M3 が他の点で問題なく動作しています。ケースクラス/タプルで現在使用している構文は次のとおりです。ドキュメントに記載されている新しい HListsを使用するにはどうすればよいですか?

例には何も表示されず、新しく更新されたドキュメントに簡単に言及されているだけです。私はScalaだけでなくSlickも初めてです。

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

scala - poly 関数の型消去、scala

だから私は を介し​​てマップ関数を作成したかったのHListですが、適用関数内のいくつかの条件を確認する必要があります。次のようなものです:

その結果、要素に関するすべての情報typeが失われます。t.headところで、「クリーン」関数を作成する場合:

その後、明らかに、それはすべて大丈夫です。

問題は、それをどのように処理し、そのような機能を作成するか (可能であれば)、または別の方法を検索する必要があるかどうかです。なぜここでタイプ消去ができるのですか?

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

scala - scala - HList の一般的な解凍

次のScalaの問題があります。

HList のリストを取得する関数を作成する

リストの HList を返します

これは、一般的な unzipN のようなものです。任意の HList はまったく可能ですか?

ありがとうございました。

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

scala - 形のない HList の内容に対する型推論

この例は単純化されています。

私はこのようなクラスのセットを持っています:

次のコードでは、型が正しく推論されます。

次の型を正しく推測する方法がわかりません。

KeyTypeの内容に基づいて を推測できる方法はありHListますか?

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

scala - HList、Scala でのオプション チェック

したがって、次hlistsのオプションがあります。

(TypeTags の) 一致するすべての型オブジェクトで構成される新しいリストを作成するには、liftA2関数 ( https://stackoverflow.com/a/14456938/1092399 ) を使用することができます (注意: 反復型と多くのHNilオブジェクトがあります結果ではありますが、それは問題ではありません):

ここでの目的は、すべての空のオブジェクトをスキップするOptionことです (これができれば、一致するすべての空のOptionオブジェクトのリストを作成する機会があります)。次のようなものが必要です。

上記の関数は間違っています。型消去 (結果 ~ の型Product with Serializable with shapeless.HList) が発生するためです。質問: そのようなチェックを行う方法はありますか、それとも完全に非現実的ですか?

casepsこの状況では非常に興味深いタイプです。Product with Serializable with shapeless.HList