問題タブ [mercury]

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

lambda - Mercury: この述語は、最上位で宣言されている場合は機能しますが、ラムダとしては機能しません

(以下の抜粋は、このテスト スイートからのもので、ここにある 2 つのファイルからなるプログラムの半分です。)

補助述語を 2 つの方法で定義しました。1 つはトップ レベルで ( と呼ばれますhelper)、もう 1 つはラムダとして ( と呼ばれHelperます)。以下のコードの最後の 3 行では、その補助述語を使用しています。使用するhelperと機能しますが、使用するHelperとエラーが発生します(以下)。

問題は、型レベルの述語の型シグネチャとモード シグネチャを指定できるが、ラムダのモード シグネチャしか指定できないことにあると思われます。(それが問題なら、どうすればいいのかわかりません。)

関連するコードは次のとおりです。

を使用して得られるエラーは次のHelperとおりです。