問題タブ [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.

0 投票する
3 に答える
1261 参照

scheme - DrSchemeによるR5RSの実装をどのように止めますか?

DrSchemeをR5RSで使用する場合、エラー関数はありません。自分で書くつもりですが、プログラムの実行を止める方法がわかりません。次のようなコマンドを試しました。

  • (停止)
  • (出口)
  • (エラー)

何も機能しませんでした。プログラムの実行をどのように停止しますか?

0 投票する
6 に答える
5806 参照

scheme - 初級者: Scheme のカリ​​ー化された関数

SICP の講義とテキストを使用して、Scheme について独学しています。「式 E の適用は (E E1,...En という形式の式です。これには、式 (E) に対応する n=0 の場合が含まれます。カリー化されたアプリケーション」という演習を見ています。 E のアプリケーションは、E のアプリケーションまたは E の Curried アプリケーションのアプリケーションです。」

(編集:上記の引用を修正しました...もともと定義を誤って引用していました。)

タスクは、3 に評価される手続きの Curried アプリケーションを定義することです。

私はここでのアイデアを本当に理解していません. Curriying に関するウィキペディアのエントリを読んでも、あまり役に立ちませんでした.

ここで求められていることについて、より明確な説明を手伝ってくれる人はいますか?

この問題の後にさらに 5 つの解決すべき問題があるため、実際にこの問題の答えを教えていただけると助かります。... 基本的な考え方がわかりません。

追加: ブライアン・キャンベルの長い説明の後でさえ、私はまだ少し迷っています.

(foo1 (sqrt 3)))foo のアプリケーションと見なされるため、foo のカリー化されたアプリケーションと見なされますか?

単純すぎるようですが、多分...

(((foo1 2 )) 2)DrScheme に入力すると、次のエラーが表示されます (これは私が期待していたものです)。

再読後カレーとは?foo1 を次のように再定義することもできることを理解しています。

それで、私はタイプすることができます

12

しかし、これは出力として 3 を生成することに実際には近づきません。これは、元の foo1 を実際にカリー化しているのではなく、再定義しているだけのようです。

くそー、C プログラミングの 20 年間は、これに対する準備ができていませんでした。:-) :-)

0 投票する
5 に答える
42751 参照

lisp - リスト内の要素を見つけるためのScheme関数とは何ですか?

要素のリスト'(abc)があり、その中に(trueまたはfalse)xが含まれているかどうかを調べたいと思います。たとえば、xは'aまたは'dになります。このための組み込み関数はありますか?

0 投票する
3 に答える
423 参照

lisp - DrSchemeでのライブラリのロード

私はDrSchemeを使用してSICPを使用しています。

DrSchemeで外部ライブラリをロードするにはどうすればよいですか?数学ライブラリを使用したい場合、Scheme博士に特定のライブラリをロードするように依頼するにはどうすればよいですか?

私は次のことを試しました: (require(lib "math.ss"))

次のエラーが発生しました: 未定義の識別子への参照:require

言語としてR5RSを選択しました。

0 投票する
2 に答える
1879 参照

scheme - Dr.Scheme のための単純な Scheme イディオムを求めて

私は、Ableson/Sussman レクチャーと Berkeley 61A レクチャーの両方を使用して、SICP を進めています。バークレー校の宿題をしたいのですが、文の定義が必要ですが、butfirst、butlast などがあります。Dr.Scheme には単純なスキーム言語が組み込まれていたようですが、最新のバージョン 4.1.5 にはそれがありません。Planet PLTから 、定義ウィンドウに (require (planet "simply-scheme.ss" ("dyoo" "simply-scheme" 1 0))) を簡単に追加できると思いました。私は得る

ここから Simply.scm ファイルを取得 して Dr Scheme 定義ウィンドウに貼り付けようとしましたが、うまくいきません:

上級生モードでは、「.」の不正使用が読み取られます。

次のコードの行 (lambda (string . args) の場合。

In R5RS I get set!: cannot mutate module-required identifier in: number->string (次のコードの 7 行目)

0 投票する
6 に答える
9719 参照

windows - WindowsScheme/Lispの実装

何千ものLISPとSchemeの実装が利用可能であるため、Windows開発に使用するのに最適なものを見つけるのに非常に苦労しています。私は学校でこれらの言語を学び、非常にエレガントであることがわかりましたが、学術的な設定以外でコードを開発するのに適した実装を見つけることができないようです。

次の要件を持つSchemeまたはLISPの実装とは何ですか?

Cにコンパイルするのではなく、ネイティブコードにコンパイルします。

複数のプロセッサでのマルチスレッドをサポートします(つまり、複数のスレッドを同時に実行できます)。

64ビットコードを生成します。

Cygwinを必要とせずにWindowsで使用できます。

0 投票する
2 に答える
1702 参照

scheme - 工夫されたサンプル コードを探しています: 継続!

したがって、コミュニティ スキーム wikiLearn Scheme in Fixnum Daysのおかげで、少なくともある程度は継続を理解していると思います。

しかし、私はもっと練習をしたいと思っています。つまり、頭の中で作業できるサンプルコードがもっと欲しいです (できれば工夫されているので、概念から気を散らす無関係なものはありません)。

具体的には、再開やコルーチンを使用してループなどを終了するのではなく、継続を使用してより多くの問題に取り組みたいと思います (これはかなり簡単です)。

とにかく、上でリンクしたもの以外の優れたチュートリアルを知っている場合、またはあなたが書いたものを投稿して良い演習になる場合は、非常に感謝しています!

0 投票する
16 に答える
15036 参照

python - Python マクロ: ユースケース?

Python に Lisp/Scheme ( MetaPythonのようなもの) に似たマクロ機能があるとしたら、それをどのように使用しますか?

あなたが Lisp/Scheme プログラマーである場合、(while ループなどの Python で明確な構文上の類似性があるものを除いて) どんな種類のマクロを使用しますか?

0 投票する
4 に答える
18755 参照

lisp - 2 つのリストを取り、4 つのリストを返すスキーム関数の書き方

要素 '(abc) '(dbf) の 2 つのリストがあり、1 つの結果で違い、結合、および交差を見つけたいと考えています。それは可能ですか?どのように?

2番目のリストに最初のリストの車があるかどうかをチェックするメンバー関数を書きましたが、新しいリストにメンバーを投げることができません。

私の結果は になるはずです(( a c) (d f) (a b c d f) (b))