問題タブ [deriving]

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 に答える
1282 参照

haskell - Existentials 型クラスの Eq の Haskell 導出インスタンス

の Eq (および show) のインスタンスを自動的に導出する方法はありますPowerか? http://www.haskell.org/ghc/docs/7.4.2/html/users_guide/deriving.htmlを見つけることができましたが、以下のコードに関連する説明を見つけることができませんでした。

さらに、以下で作成されたエフェクトのより良いプラクティスがあれば、私は haskell と関数型プログラミングが初めてなので、提案をお待ちしています。

編集: これは一種のハックであることは知っていますが、ほとんどすべて prelude 関数で行われるため、完全に悪意のあるコードがない限り、正しい結果が得られるはずです (これは、「オープンワールドの仮定」の場合に最もよくあるケースです)。 .

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

haskell - Haskell で GADT の Data インスタンスを派生させるにはどうすればよいですか?

ForwardPossible と () の 2 つの異なるパラメーターでのみ使用される GADT があります。

OrForward t () と OrForward t ForwardPossible の両方をカバーするのに十分な Data.Data インスタンスを派生させたいと考えています。一般的な (Data t, Data forward) => OrForward t forward インスタンスは可能だとは思わないOrForward t forward インスタンスは、ghc にそれらのインスタンスを派生させる方法がある場合、解決策になる可能性があります。

私は定義しようとしました:

しかし、ghcは次のようなエラーを出します:

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

c++ - エラー: 基本クラス C++ が無効です

誰でも、このエラーの原因を説明できますか?

2 つのクラスがあり、そのうちの 1 つは second から派生しています。

CGameObject は次のようになります。

プロジェクトをクリーンアップしようとしましたが、無駄でした。

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

haskell - * 以外の種類のファントム型パラメーターを使用して GADT の Eq を導出する方法

たとえば、次のコードをコンパイルしようとすると

型エラーを与える

これが機能しない理由はわかりますが、Eq (および Ord) インスタンスを手動で記述する必要のない解決策はありますか?

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

sql - 現在貸し出し中の派生品

ローン情報の表があります。

例:

ご覧のとおり、ユーザー 605 は 1 日だけ機器を貸与され、翌日には返却されました。その翌日、別のユーザーに機器を貸与されました。

このテーブルには、移動を追跡するエントリが含まれていることを考慮して、現在どのユーザーがどの機器を現在貸し出しているかを見つけるにはどうすればよいでしょうか。

これをどのように行うかについてのアイデアをいただければ幸いです。疑似コード、SQL、または LINQ も問題ありません。

ありがとう

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

haskell - テンプレートHaskell引用でのスタンドアロン派生宣言

テンプレートHaskellがスタンドアロンの派生宣言を引用で無視するのはなぜですか?

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

generics - レコード Haskell でジェネリック派生を使用する

私は基本的に、Haskell 内で ORM フレームワークをエミュレートできるかどうかを確認しようとしています。そのため、ユーザーがデータベース モデルを作成したい場合は、次のようにします。

テーブルは「車」で、列は会社、モデル、年になります

Haskell 内でこれを行うには、クラスとジェネリックを組み合わせて使用​​する必要があります。このチュートリアル(http://www.haskell.org/ghc/docs/7.4.1/html/users_guide/generic-programming.html)を使用して、これを思いつきました(これは基本的にコピーして名前を変更しただけなので、取得できますコードの動作)

上記のコードはエラーを生成します

そして、私はこの時点でちょっと立ち往生しています.レコードをカバーするために必要なジェネリック型のすべてをすでにインスタンス化していると思います.

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

javascript - js_of_ocaml と Deriving_Json

js_of_ocaml を機能させるには、助けが必要です。ネット上にはあまり情報がなく、マニュアルも非常にまばらです (スニペットや使用例、コメント セクションはありません)。

サーバー上にレコードのあるCardモジュールがあります。card私はcard listAjax を使用してクライアントに を送信しています。そこで、このリストを読み取ってトラバースしたいと考えています。私が最終的にはこれです:

... where jsonhas type 'a、ドキュメントによると(もちろん、実行したときではありません)。

json##lengthリストの正しい長さをログに記録して取得できます。ここからどこへ行けばいいですか?Deriving_Json理想的には、タイプ セーフな get aを使用したいのですcard listが、for ループを使用することもできます (それほどエレガントではありませんが、何でも)。

0 投票する
3 に答える
2849 参照

haskell - Haskell: データ コンストラクター名を文字列として取得する

私たちが持っているとしましょう

機能が欲しいgetDConst

入力に使用されるデータ コンストラクターに応じて、"X"、"Y"、または "Z" のいずれかを返します。caseすべてのデータ コンストラクターで行う必要なく、これを記述する一般的な方法はありますか? (依存するソリューションData.Typeableまたは同様のもので問題ありません)

0 投票する
3 に答える
6780 参照

haskell - Haskell 派生ショー インスタンス

私は赤黒木で遊んでいます:

GHCi で次のステートメントを実行すると:

次のエラー メッセージは、 の show のインスタンスがないことを示していますSet Char

member 'b' ...where ...is を呼び出すと、以前に実行されたステートメントが返されるため、ツリーが機能していることがわかります。戻り値はTrueです。この問題に関する他の SO の投稿を読んでいますが、それらに対して見つかった解決策 (例: Haskell: Deriving Show for custom type ) は機能しません。

たとえば、次のように追加します。

を使用してロードしようとすると、次のエラー メッセージが表示されます:l

:l red-black-tree.hs [1 of 1] RedBlackTree のコンパイル ( red-black-tree.hs、解釈済み )

私がやろうとしていることにはいくつかの問題があると思いますが、利用可能なドキュメントからはそれを理解できないようです。