This projectは実際にはsourceofquestionsです。 多相再帰について既に知っていて、それが特別なケースである理由を理解しています。したがって、F#には完全型アノテーションが必要です。 通常の機能のためには、いくつかのフィディリングが必要な場合がありますが、通常は正しくなります。現在、私は(作業中の)基本的なtoSeqをより特殊な指のツリーに適応しようとしていますが、できませ
アドホック多形関数とパラメトリック多形関数間を変換する一般的な方法があるのだろうかと思います。言い換えれば、アドホック多形関数を考えると、パラメトリックな対応をどのように実装するのでしょうか?他の方法はどうですか? sortを例にとります。それはsortByの面でsort :: Ord a => [a] -> [a]を書くのは簡単です: sort :: Ord a => [a] -> [a]
s
型チェッカーを渡す関数定義の次の対を、検討しますタイプforall a. aの表現は、タイプIntの1つが予想される場合に使用できます。これはサブタイピングに似ているようですが、Haskellの型システムにはサブタイプがないと主張されています。これらの代替可能性の形式はどのように異なるのですか? この質問は、forall a. aに特定されていません。その他の例としては、以下が挙げられる: id
私は、i、A、Bという引数をとる関数fを持っています。 iはカウンタであり、AとBはリストまたは定数です。この関数は、リストの場合、i番目の要素をAとBに追加するだけです。ここでは、私はあなたがconst_or_list()関数が2つ(すべてではない)の入力引数の上で呼び出されたことがわかります def const_or_list(i, ls):
if isinstance(ls, li