問題タブ [scheme]
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 - このコードがSchemeで機能しないのはなぜですか?
DrSchemeで実行してみましたが、機能しません。なんで?
scheme - 使い方セット!スキーム関数で?
セットの使い方!(+ (f 0) (f 1)) を評価すると、 + への引数が左から右に評価される場合は 0 が返されるが、引数が右から左に評価される場合は 1 が返されるような単純な手続き f で?
ide - Windows 用スキーム IDE
Windows 用の優れたスキーム IDE とは? わかりました、認めます。私は RMS のレベルではなく、Emacs や文字ベースのインターフェイスを使用したくありません。特定の十分に文書化された方言について、色付け、REPL、および使用可能なインライン ヘルプを備えたグラフィック IDE が必要です。スキームの。私は周りを検索しましたが、PLT Scheme/DrScheme が最良のようですが、それでもあまり洗練されていないようです。
scheme - スキームで内部リストをクリアするには?
次のコードがあり、内部リストから保存されているすべての番号を削除する「クリア メッセージ」を追加したいと考えています。どうすればいいですか?
lisp - 文字列をスキームのコードに変換する
string->input-port
文字列を PLT スキーム (メソッドを含まない) の対応するコードに変換するにはどうすればよいですか? たとえば、次の文字列を変換したいとします。
このリストに:
ファイルを開かずにこれを行うことは可能ですか?
macros - R6RS Scheme の make-variable-transformer の利点は何ですか?
syntax-case
R6RSのセクションを見ていると、識別子マクロmake-variable-transformer
として記述されているキーワードが見つかりました。与えられた例は非常に最小限であり、なぜそれが必要なのか、またはどのようなユースケースでそれが必要なのかを理解するつもりはありません. その使用例をさらに見つけることも困難です。おそらく、何らかの形式の構文変換が可能になりますか、それともよりエレガントになりますか?
scheme - 入力ファイルをSchemeでどのように読みますか?
.txt ファイルからスキーム構造にデータを入力しようとしています。各要素はデータ ファイル内のタブで区切られ、各構造セットは新しい行にあります。1行のデータを構造体に読み込み、ファイルに設定された各構造体のリストを作成できるようにしたいと考えています。助言がありますか?
scheme - 式をネストするためのスキーム マクロ
次のような式を取るマクロをSchemeで(define-syntax
たとえば、を使用して)記述できますか?
そして、このような式を出力として生成しますか?
もちろん、任意の長さです。次のようなテンプレートを考えると、それを行う方法が思いつきません。
c - DrScheme ではテール コールの最適化はどのように実装されていますか?
トランポリンは TCO を実装する効果のない方法だと聞いたことがあります。DrScheme(技術的にはPLAIスキーム)はどのようにそれを行うのですか?それは「正しい」方法で実行されますか (つまり、スタックとトランポリンを通過するのではなく、テール コールに直接分岐するアセンブリ コードを生成します)?
python - python->scheme 変換に関する質問
私は現在、スキームセマンティクスを使用してPythonプログラムを作成しようとしているため、後で多くのPythonicに依存することなくSchemeに変換できます。
*、深さ優先、幅優先の検索アルゴリズムを使用して、スライド パズル問題 (正方形に配置された 9 つのスロットと 8 つのタイルがある) を解こうとしています。私は 11 年前に Lisp の AI クラスでこれを行いましたが、基本的に当時は Lisp について何も知らず、心から嫌いでした。振り返ってみると、Lisp で「C」をプログラミングしていたことに気づきました。教授はこの問題で助けにはなりませんでした。
2 つのタイルを簡単に交換できる Python 関数があります。
これを SICP で見られるようなものに変えて、副作用などを回避したいと思います。
しかし、これは疑問を引き起こします。私が SICP で読んだものはすべて、再帰によるループです。一定時間で配列/ベクトル/リストにアクセスする際に何も見ませんでした。要素を読み取るためのループ的/再帰的な方法を想像することはできますが、set! のようなものを生成する副作用を呼び出さずに、クレイジーな if に頼ることなく、特定の要素を変更した新しいリストを作成する方法を想像するのは難しいと思います。どの要素を変更する必要があるかに関する /then/else 句。もちろん、2次元配列を考えると、これはさらに混乱します。この場合、多次元配列がネイティブにサポートされているため、Python を使用したソリューションは明らかです。
C/C++/Python/Matlab/Lua/その他では、[i] 構文を介してリスト/配列にアクセスするのは簡単で、その下のどこかでハードウェア指向のポインター ルックアップに直接変換されます。SICP バージョンの scheme で定義されたアトミック操作を考えると、scheme がこれを行う方法がわかりません。これらはすべて非常にループと検索指向のようです。ベクトルおよびリスト配列アクセス関数はどのように機能して一定時間のアクセスを取得しますか? (私はここではまったくの初心者なので、どの機能について話しているのかわかりません)。密かにアクセスされている C またはアセンブリ ライブラリはどこかにありますか? リスト/配列/ベクトルアクセスに使用できるスキームに固有の定数時間セマンティクスはありますか?
Schemishセマンティクスを使用してPythonで上記の関数を書き直すにはどうすればよいですか? 上記の関数をSchemeでどのように書き換えますか?