問題タブ [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 - Guileスキームと標準スキーム(Racket IDE)の違いは?
RacketSchemeIDEで実行したい「レガシー」GuileSchemeコードがたくさんあります。これを重要な演習にするのに十分な違いがあるようです。(Schemeの知識の私のレベルは、The Little Schemerを完了するためのレベルです)。
私の質問は:
- Guileスキームと標準スキーム(Racket IDE内)の違いは何ですか?
- これらの違いに照らして、一般的に、いくつかのGuileスキームコードを標準スキームに変換するために必要な手順は何ですか?
追加: (RacketSchemeとR5RS/R6RSの相違に満足)-私が欲しいのは、Racket言語ではなく、RacketIDEで「何か」を実行することです。
scheme - ライブラリによってエクスポートされたすべてのシンボルのリストを取得するには?
ライブラリによってエクスポートされたすべてのメソッドのリストを取得するメソッドはありますか?
scheme - 変数の名前を出力します
スキームR6RSで変数の名前を出力することは可能ですか?つまり:
そのような:
scheme - スキーム R6RS のセレクター
古い本を読んでいます
単純なスキーム: コンピューター サイエンスの紹介
ここで見つけることができます。
5 番目のセクションでは、次のような演算子である「セレクター」を紹介します。
等々..
R6RSに似たようなものはありますか?(この演算子は定義されていないため)。
scheme - Schemeでオブジェクトの継承を正しく実装する方法
演習として、2つのクラスを持つ小さなオブジェクト指向プログラムを実装しようとしています。
各クラスをクロージャーとして実装しました。これは最初のもののコードです:
そして2番目のために:
2番目の定義に問題があります。最後の行で、parentsメソッドを呼び出そうとしましたargs
が、リストなので機能しません。
私に何ができる?
scheme - 構文例外をキャッチする方法
構文例外をテストするマクロでsrfi-78を拡張したいと思います。私はこのようなものが欲しい:
それは可能ですか?そうでない場合、マクロのテストをどのように記述しますか?
test-read-eval-string
私はsrfi-64から知っています。文字列を受け入れ、それをフォームに変換し、初期環境でこのフォームを評価します。現在の環境で特定のフォームを評価し、例外をキャッチするマクロが必要です。
antlr4 - データムスキップコメント「#;」ANTLR4でR6RSのパーサーを作りながら
R6RS 用のレクサー/パーサーを作成しようとしていますが、データをスキップするコメントに悩まされています。
これが私のレクサー/パーサールールの一部です:
では、 のように書きたいと思いskipDatum: '#;' datum -> skip
ます。残念ながら、パーサー ルールでは許可されていません->skip
。SKIPDATUM: '#;' datum -> skip
レクサー規則はパーサー規則を参照できないため、どちらも機能しません。
私の意見では、「コメントアウト」はレクサーの責任であり、「データムの構築」はパーサーの責任ですが、ルールに関するルールには#;
両方が必要です。
これが私の現在の解決策です:
それが機能している間、それはとても醜いようです。を使用してルールを書きたい場合datum
は、常に次のように書く必要があります。skipDatum* datum skipDatum*
より良い解決策はありますか?前もって感謝します。
scheme - R6RS ライブラリ本体: 式の後の定義
次のコードを検討してください。
<library body> は、<library body> に式を含める必要がないことを除いて、<body> (セクション 11.3 を参照) に似ています。次の形式にする必要があります。
<definition> ... <expression> ...
c
の定義は expression の後にあるのでエラーになると思っていました'cont
が、このプログラムは問題なく受け入れられます。
その後、輸出できるとa
思いました。c
しかし、そうではありませんc
が、b
エクスポートできます。(a
思った通りにエクスポートできます。)
R6RS ライブラリのルールについて、私が気付いていないことがあると思います。私が見逃しているポイントは何ですか?前もって感謝します。
ps) ラケット v5.3.3 を使用しています
racket - R6RS のモジュールを使用する場合に予期される契約違反
に次のモジュールがありますabc/main.rkt
。
そのモジュールをインポートする短い R6RS プログラムを次に示します。
プログラムが読み込まれると、DrRacket ウィンドウの下部に次のエラー メッセージが表示されます。
+: 契約違反が予想される: 数? 与えられた: #f 引数の位置: 1 番目の他の引数...: 0
ただし、プログラムを正常に実行できます。
エラーを取り除く方法について何か提案はありますか?
compiler-construction - Is there a digest for different "RnRS" Scheme standards?
I need to choose a Scheme standard for an academic compiler implementation. It has to be simple enough, but should still be a powerful language. There are several (RRS–R7RS) standards of Scheme. Is there a public comparison of these reports for choosing? If no, which one would you recommend for a first compiler?