問題タブ [r6rs]
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.
scheme - fixnum 符号ビットへの左シフト
正の fixnum から符号位置に少しシフトする方法を探しています。基本的に、私が望むのは、オーバーフロー チェックなしで fixnum 左シフトを実行する予測可能な (未定義ではない) 方法です。
非効率的な実装は次のようになります。
理想的には、これは単一の CPU 命令にコンパイルされます (少なくとも定数シフトの場合。レジスタと同じ幅またはそれより広いシフトを処理する方法が CPU によって異なります)。
scheme - Scheme の「filter」フォームがリスト要素を「順番に」処理しないのはなぜですか?
(filter procedure list)
procedure
の各要素に適用されlist
、true を返す要素のみを含む新しいリストをprocedure
返します。
( R. Kent Dybvig The Scheme Programming Language ) (オンライン)
この説明から明らかでないことは、返されるリスト内の要素が と同じ順序で発生する一方で、list
の呼び出しの順序がprocedure
R6RS で指定されていないことです。(ただし、Racket は「最初から最後まで各要素に」という手順を適用します)
最近アクティブな回答filterfunc
では、引数リスト
を順番に
処理する必要があることが言及されています。この関数はどのように記述すればよいでしょうか?
問題の説明を含む回答が提供されます。