問題タブ [r7rs]

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

scheme - R7RS で複数の値を返すプロシージャを定義する方法

TL;DR:foobarとして使用できるプロシージャを定義する方法(let-values ((foo bar) (foobar)) ...)


R7RS では、2 つの数を割った商剰余を計算する 2 つの手続きfloor/とが定義されています。これらの手順は(または)でのみ使用できるため、これは非常に難しいと思います。さらに重要な問題は、複数の値を返す独自のプロシージャを定義する方法が見つからないことです。truncatelet-valueslet*-values

誰かアイデアはありますか?

ノート:

  • floor/およびの定義は、レポートtruncate/の 37 ページの上部にあります。
  • 私は幸運にも R7RS 準拠のインタープリターやコンパイラーをうまくインストールできなかったので、上記のアイデアをまだテストしていません。機会があれば、必要に応じてこの質問を更新します。
0 投票する
2 に答える
61 参照

scheme - Scheme の「filter」フォームがリスト要素を「順番に」処理しないのはなぜですか?

(filter procedure list)procedureの各要素に適用されlist 、true を返す要素のみを含む新しいリストをprocedure 返します。
( R. Kent Dybvig The Scheme Programming Language ) (オンライン)

この説明から明らかでないことは、返されるリスト内の要素が と同じ順序で発生する一方で、listの呼び出しの順序がprocedureR6RS で指定されていないことです。(ただし、Racket は「最初から最後まで各要素に」という手順を適用します)

最近アクティブな回答filterfuncでは、引数リスト を順番に 処理する必要があることが言及されています。この関数はどのように記述すればよいでしょうか?

問題の説明を含む回答が提供されます。