問題タブ [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 - R6RS 対 R5RS スキーム
私はスキームに比較的慣れていないため、R6RS で発生した主な変更点を概説する具体的なドキュメントをオンラインで見つけるのに苦労しています。誰か詳しく説明したいですか?
scheme - 取り込まれたハッシュテーブルをライブラリからエクスポートする
これは、ハッシュテーブルをエクスポートするライブラリです。ライブラリには、ハッシュテーブルに入力する式も含まれています。
ハッシュテーブルにデータを入力するために使用できるプロシージャをエクスポートするライブラリの別のバージョンを次に示します。
最初のアプローチを取るのは悪い形と見なされますか? つまり、任意の式も実行するライブラリが必要ですか? このアプローチには欠点がありますか?
関連する問題... ライブラリでは、定義の後に非定義式が発生する必要があります。この制約を回避するために、次のマクロを使用しています。
例えば:
繰り返しますが、この回避策を使用して式と定義を散在させることには欠点がありますか?
scheme - R6RS スキームで、eval で使用する現在の環境を取得する方法はありますか?
R6RS スキームで現在の環境を取得し、それを 2 番目の引数として渡す方法はありますeval
か?
たとえば、次の式が 9 を返すには、どのような疑問符が必要ですか?
scheme - vector-map の ikarus 実装
このコードのビットは、Ikarus の の実装にありvector-map
ます。
p
名前付き let にパラメーター、v
、およびが含まれるのはなぜn
ですか?
の完全な定義は次のvector-map
とおりです。
scheme - free-identifier =の違い?およびbound-identifier=?
free-identifier =を理解しようとしていますか?およびbound-identifier=?。free-identifier =を使用する場合の同等のコード例を誰かに教えてもらえますか?trueを返し、bound-identifier =を使用しますか?falseを返します。
ありがとう
scheme - ローカル状態を維持するマクロの書き方
これは機能しているようです。これは、展開された回数に応じて連続する整数に展開するマクロです。
しかし、マクロの状態*count*
とマクロm
自体が別のモジュールにあるので、私には不器用です。r6rsでこれを行うためのより良い方法はありますか?実装を2つのモジュールに分割しない方法が望ましいですか?
編集
この例は 1 つのマクロにすぎませんが、実際には、複数のマクロが状態を共有する必要がある場合に機能する方法を探していることを明確にしておく必要があります。
lambda - ((lambda()))の省略形
((lambda()))のスキームに省略形はありますか
たとえば、代わりに
私は次のようなことができるようになりたいです
scheme - スキームでのプラットフォーム(OS)の検出
それはそのようなものでなければなりません:
正直なところ、私のスキームの実装はとにかくそれを行うことさえできないと思いますが、私はそれを実現するために自由に追加することができます。プラットフォーム検出の通常のスキーム構文は何ですか?
ありがとうございました
scheme - 同等?およびレコードタイプ
次のScheme(R6RS)コードがあるとします。
そして、私は2つのレコードを作成します。
理由がわからず(equal? X Y)
、(equal? (make-typeA 123) (make-typeA 123))
戻ってき#f
ます。
R6RS規格(セクション11.5)を読みましたが、よくわかりませんでした。
scheme - 何もしない継続をコーディングする
たぶん私の質問は本当に簡単な答えを持っていますが、私はそれを見つけることができません。
スキームR6RSで、何もせず、引数を必要とする継続をどのように構築できますか?
私の目標は継続することQUIT
です。次のコードがある場合は、次のように名前を付けましょう。
1と2を意味しますが、「A」は意味しません。+
手伝って頂けますか?
ありがとうございました。