Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。recursionが欲しくなりましたが、書けなくて困っています。recだと拡張できないので。evalをレコードにしてあるのは、Appのeval適用で型が異なる適用を二回行うので、forallを付ける必要があったから。match"endここまではコンパイル通ります。Plus.open_evalしたいのですが、fixの実装はどうやって書けばいいのでしょうか?通常の不動点演算子は下記の記事のようにかけるのは知っています。http://d.hatena.ne.jp/KeisukeNakano/20060926/1159273362そもそも書けないのかもしれませんが、ご助言ありましたら宜しくお願い申し上げます。'aのようにfix定義時にエラーになります。票3まず、特にこだわらずに不動点を取ってみます。突っ込めないからです。ご質問の追記と同じ状態です。ような型が欲しいのですが、これが書ければもともと多相レコードフィールによる高rank多相エンコードは必要ないわけですから、無理っぽいかなあと思います。個の銅バッジありがとうございます。recursionがデフォルトで使えるクラスベースオブジェクト指向の言語機能はすごいと思いました。使った不動点という手もあります。こちらは完全に一般的な形になります。f))定義を少し変える必要があります。x}endそうすると、不動点の閉じ方はこれで済みます。隠蔽されているので多相性の問題は回避できているのですね。しても外に必要なので、関数型になりません。含めたものは一般化できません。|1因みに、OCamlにはファンクターという高階多相性機構があるので、camlspotterの解答もそれを使って一般化できます。関数を持った型に対して使えることです。個の銅バッジなるほど、これなら他の言語を作った時でも使えそうです。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。