問題タブ [corecursion]

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 投票する
2 に答える
625 参照

list - アナモフィズムを使用したリスト フィルター

Hackage ライブラリのアナモフィズムを使用して壊れたfilter関数を実装しました。recursion-schemes

filterこの関数は:の忠実な実装ではありませんxfilter odd [1..5]が、機能xfilter odd [0,0]しません。で明示的な再帰を使用して「再試行」を実装しようとしたphi後、それをパラモーフィズムで再実装したため、次のように終了しましたana . para

これで問題ありませんが、再試行を明示的に表現しphi、外部で実行しようとしました。

Rightは「新しい要素を生成する」ことをLeft意味し、「新しいシードで再試行する」ことを意味します。

の署名はphi、リストに特化したアポモーフィズムの最初の引数にかなり似ているように見え始めました。

([a] -> Either [a] [a][a] -> Prim [a] [a] (Either [a] [a])

だから、アポモルフィズムやその他の一般化された展開を使用してフィルタリングを実装することは可能ですか、ana . paraそれとも私が期待できる最高のものですか?

折り畳みを使用できることは知っていますが、問題は特に展開に関するものです。

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

haskell - このコアカーシブ値を与えると、GHCi で :p がフリーズするのはなぜですか?

pathCounts無限リストの無限リストと有限リストの無限リストを定義しましたpathCounts':

どちらかをまったく評価していない場合は、:pどちらでも正常に使用できます。

しかし、pathCounts'部分的に評価すると、まだ成功している間に:pフリーズします。pathCountspathCounts'

部分的にしか評価していないので、:p pathCountsと同じものを出力することを期待しています。:p pathCounts'なぜ機能しないのですか?

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

python - Python: 実行時にジェネレーターを作成する

私はpythonクラスと関数をそれぞれタイプとラムダを使用して実行時に作成できることを知っていますが、実行時にジェネレーターを作成できますか?

例: キーワード、条件、アクション、利回り

lambda x,a: a<x,a++,a

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

isabelle - コアカーシブ ツリーを定義するときの「無効なマップ関数」

で最初の実験を行っていますcodatatypeが、かなり早く立ち往生しています。分岐する、おそらく無限のツリーのこの定義から始めました。

一部の定義は正常に機能します。

しかし、これは機能しません:

エラーメッセージが表示されるので

私は書くことでそれを回避することができました

これは、 が補題を必要とし、補題が必要primcorecであるのと同様に、関数更新演算子について「何かを知る」必要があると思わせます。しかし、正確には何ですか?funfundef_conginductivemono

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

recursion - 生成的再帰とコアカーション

ウィキペディアでの再帰に関する議論は、生成再帰関数は「多くの場合、コアカーシブ関数として解釈できる」ことを示していますが (私の強調)、ウィキペディアでのコアカーションに関する議論では「一部の著者はこれ [コアカージョン] を生成的再帰と呼んでいる」と述べている場合、2 つが同義語のように聞こえます。 ."

生成再帰とコアカージョンの違いは何ですか? それらは厳密な同義語ですか、それとも生成的に再帰的なものがコアカーシブでない場合がありますか?

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

c - cでcorecursionを使用するには?

print ステートメントを各関数 (alpha_count および sum_digits) 内のどこに配置して、(プログラムの最後に) 1 回だけ出力するかを見つける手助けが必要です。

元。
文字数: 8
桁の合計: 19

現時点では、関数が呼び出されるたびに出力されます。何か案は?