問題タブ [parametric-polymorphism]

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

haskell - 型変数の任意のモナド変換子スタック

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

scala - Scala で暗黙的が予期されると、パラメトリック ポリモーフィズムが壊れる

私は得る

型 T の Json シリアライザーが見つかりません。この型の暗黙の Writes または Format を実装してみてください。

実際のWritesパラメーターの型にはがありますが、コンパイル エラーが解消されるとは思いません。グーグルで調べたところ、この件に関する私の理解に根本的な何かが欠けているように感じました。どんな助けでも大歓迎です。

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

types - Common Lisp における従属型/パラメトリック ポリモーフィズム?

反射群を扱う汎用コードを書きたいので、数学的構造 (ベクトル空間、アフィン空間など) を反映するいくつかの型を設定する必要があります。これらの構造を忠実に型に反映したいので、ある種のパラメトリック型を定義する方法が必要です。

特に、次のコードを記述できるようにしたいと思います

これは、トリプル (V vector-add スカラー) によって与えられる新しい型 RealVectorSpace を指定する必要があります。ここで、V は何でもかまいません。vector-add は、型 V の何かに評価される型 V (sic) の 2 つのパラメーターを取る関数です。 .

もちろん、この型は実際のベクトル空間の概念を忠実に反映したものではありません。これは、vector-add と scalar-mult がさらにいくつかのプロパティを満たす必要があるためです。しかし、上記の「夢」を実際のコードに変えることさえできません。

編集: sds の回答に応えて、元の質問の次の説明を進めさせてください: 一言で言えば、Lisp には依存型が必要なようです。これは、パラメトリック クラスだけを要求するのとは異なります。実際、Haskell にはパラメトリック型がありますが、従属型はありません (少なくとも組み込み型ではありません)。たとえば、Haskell に依存型がないことについては、こちらで説明しています。

1. 私の夢をコード化するのを手伝ってくれる人はいますか?

2. Lisp マクロのおかげで、Lisp ではパラメトリック クラスは必要ないという話をどこかで聞いたことがあります。それが本当なら、Common Lisp でパラメトリック クラスを実装/偽造するために defmacro を使用する方法を誰か説明できますか?

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

python - Python 3 での関数ポリモーフィズムへのデコレータ アプローチ

f引数iAおよびを受け取る関数がありBます。iはカウンターで、ABはリストまたは定数です。Aこの関数は、 andBがリストの場合、i 番目の要素を追加するだけです。これが私がPython 3で書いたものです。

const_or_list()入力引数の 2 つ (すべてではない) で関数が呼び出されていることがわかります。私が上でやっていることを達成するためのデコレータ(おそらくよりPythonic)のアプローチはありますか?