問題タブ [guile]

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 投票する
1 に答える
1026 参照

scheme - このスキームエラーは何を教えてくれますか?

ガイルインタプリタの形でフロントエンドとして提供する、meep と呼ばれる電磁気シミュレータが存在します。シミュレーターは、一連のスキーム マクロで構成されています。

次のエラーの意味を理解しようとしています。コードはチュートリアルから取得されます。プロシージャでチュートリアルをラップすると、実行時エラーが発生し、インタプリタ (ガイル) が何を言っているのかわかりません。

動作しないコード

作業コード (手順なし)

エラー

働く

結局のところ、何かが二重に評価されているような気がします。しかし、それが何であるかはわかりません。

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

scheme - Guile Scheme インタプリタでの奇妙な乗算動作

OS XのインタプリタでSchemeの練習をしていGuile 1.8.8たところ、面白いことに気がつきました。

expt基本的に累乗を行う関数は次のexpt(b,n) = b^nとおりです。

いくつかの入力で試してみると

ここに奇妙な部分があります:

さらに奇妙なことに、n=488にとどまるまで0

このコードをrepl.itオンライン インタープリターで試すと、期待どおりに動作します。では、ガイルの何が問題なのですか?

(注: 一部の方言では、remainderfunction は として呼び出されmodます。)

0 投票する
1 に答える
637 参照

scheme - スキームの整数部分と小数部分に数字を分解する方法は?

number->second-pair数値を受け入れ、その整数部分と小数部分を 1000000 で乗算したものを表す整数のペアを返す関数が必要です。

すなわち:

解決策を見つけるのは簡単かもしれませんが、私は多くのドキュメントを検索しましたが、残念ながら数値を整数に変換する方法が見つかりません。誰かが私を助けることができますか?

ところで:

実際には、 を使用してより正確なalarm( this one ) がsetitimer必要なので、正確な整数を引数として渡してください。

0 投票する
1 に答える
283 参照

memory - GNU Guile SCM から char* へ

私はFFIとGNU Guileに比較的慣れていないので、char*変数を多用するライブラリへのバインディングを書いています。C関数をラップする関数からのコードは次のとおりです。

問題は、変換関数を呼び出すとエラーが発生し、メモリ リークが発生することです。私はそれについて何ができますか?

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

scheme - Scheme の関数から返されたシンボルを評価するにはどうすればよいですか?

私はSchemeに慣れ親しんでいますが、おそらく私の側の根本的な誤解を反映している問題にぶつかりました。

たとえば、Scheme で次のことを行うとします (この場合は Guile を使用しますが、Chicken でも同じです)。

が効果的に引用されてstring->symbolいるシンボル を返していることを理解しています。ただし、後でコンテキストでx返されたシンボルを使用する方法がわかりません。string->symbolどうすればSchemeにそのシンボルを評価させることができますか?

なぜこれをやりたいのかという背景を説明すると、Guile を組み込んだ C プログラムを書いているからです。scm_from_*_symbolまたは などを使用して、C から名前で Guile で定義されたシンボルにアクセスできるようにしたいと考えていますscm_string_to_symbol。これらの関数が思ったように機能しない理由は、上記の私の中心的な質問に関連しています。私が Guile でやりたいことを行うためのより良い方法があるかもしれませんが、それは別の問題です。今、私は上記の基本的な質問に興味があります。

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

terminal - mzscheme/guile REPL で矢印キーを使用するには?

guile や mzscheme の REPL を入力しているとき

次に、矢印キーを押します (define x 15)^[[D

端末の問題ですか?または何かを設定する必要がありますか?単純な編集のために一行書き直すのがめんどくさい

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

scheme - Lilypondで「同じ音符を1オクターブ高く、括弧で囲んだ音符」を短縮する方法は?

現在、私は次のようなコードを書いています。

ここで繰り返し言うのは、「この音と 1 オクターブ上の同じ音を括弧で囲んだもの」という意味です。

これを省略して、次のように書けるようにしたいと思います。

私の以前の質問に対する有益な回答で示唆されているように、音楽機能を使用しようとしましたが、これを機能させる方法はありません。私が得ることができる最も近いのは

しかし、これは<<..>>の代わりに<..を使用します。これ>は、私が望む方法でレンダリングされず (警告が表示されます)、\transpose c c実際に何かを転置する理由がわかりません。

最後に、接線関係ですが、音楽関数を試してみると、模倣する音楽関数を作成するだけでは不可能であることがわかりました\repeat unfold 2。次の例では、3 番目と 4 番目の間で 1 オクターブ下にジャンプしますc

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

macros - この Lisp 再帰マクロが機能しないのはなぜですか?

私はマクロ let-- (ラムダを使用する let* のようなもの) を Guile に持っています:

外部関数を使用してコード生成を行うと正常に動作しますが、以下のコード ( with は単なるマクロ) は動作しません:

なぜ?

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

scheme - Guileで「#:」とはどういう意味ですか?

私は通常 MIT/GNU スキームを使用しますが、github でいくつかの Guile コードを見つけました ( guile-2d )。

最初に MIT/GNU スキーム リファレンスを確認したところ、追加の表記法が見つかりましたが、それについては何もありませんでし#:た。

その後、Guile のマニュアルを一瞥すると、オプションの引数を指定しているように見えるいくつかの記述 ( Profile CommandsDebugging Commands ) を見つけました。Python でこれに似たもの:

その意味を確実に知っている人はいますか?

0 投票する
1 に答える
109 参照

scheme - read-line in let は次の行を読みません

上記のコードは、2 行目を l に読み込むことができません。代わりに、同じ値を2回読み取るだけです:-

line1 に続いて line2 が入力として与えられると、 line2 の代わりに line1 が出力として表示されます。ここで何が起きてるの?