問題タブ [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 - 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)
手動でパターンをケースと一致させることなく、パラメーターを再度適用するだけで、自動的にインスタンス化する方法を教えてください。
本質的に私はこのようなことをしたい
scala - 新しい Slick 2.0 HList を使用して 22 列の制限を克服するにはどうすればよいですか?
現在、22 列を超える 2 つのテーブルを持つ古いスキーマを対象とする Slick コードを作成しています。新しい HList コードを使用するにはどうすればよいですか? Scala 2.10.3 では、2.0-M3 が他の点で問題なく動作しています。ケースクラス/タプルで現在使用している構文は次のとおりです。ドキュメントに記載されている新しい HListsを使用するにはどうすればよいですか?
例には何も表示されず、新しく更新されたドキュメントに簡単に言及されているだけです。私はScalaだけでなくSlickも初めてです。
scala - poly 関数の型消去、scala
だから私は を介してマップ関数を作成したかったのHList
ですが、適用関数内のいくつかの条件を確認する必要があります。次のようなものです:
その結果、要素に関するすべての情報type
が失われます。t.head
ところで、「クリーン」関数を作成する場合:
その後、明らかに、それはすべて大丈夫です。
問題は、それをどのように処理し、そのような機能を作成するか (可能であれば)、または別の方法を検索する必要があるかどうかです。なぜここでタイプ消去ができるのですか?
scala - scala - HList の一般的な解凍
次のScalaの問題があります。
HList のリストを取得する関数を作成する
リストの HList を返します
これは、一般的な unzipN のようなものです。任意の HList はまったく可能ですか?
ありがとうございました。
scala - 形のない HList の内容に対する型推論
この例は単純化されています。
私はこのようなクラスのセットを持っています:
次のコードでは、型が正しく推論されます。
次の型を正しく推測する方法がわかりません。
KeyType
の内容に基づいて を推測できる方法はありHList
ますか?
scala - HList、Scala でのオプション チェック
したがって、次hlists
のオプションがあります。
(TypeTags の) 一致するすべての型オブジェクトで構成される新しいリストを作成するには、liftA2
関数 ( https://stackoverflow.com/a/14456938/1092399 ) を使用することができます (注意: 反復型と多くのHNil
オブジェクトがあります結果ではありますが、それは問題ではありません):
ここでの目的は、すべての空のオブジェクトをスキップするOption
ことです (これができれば、一致するすべての空のOption
オブジェクトのリストを作成する機会があります)。次のようなものが必要です。
上記の関数は間違っています。型消去 (結果 ~ の型Product with Serializable with shapeless.HList
) が発生するためです。質問: そのようなチェックを行う方法はありますか、それとも完全に非現実的ですか?
case
psこの状況では非常に興味深いタイプです。Product with Serializable with shapeless.HList