define-syntax

    0

    1答えて

    私は以下のSchemeマクロを書いています。 (define-syntax join (syntax-rules() ((join (var ...) (val ...) ...) '(((var val) ...) ...)))) 私はそれが次の結果を返します (join (a b c) (1 2 3) (2 4 6)

    1

    1答えて

    ちょうどSchemeの学習を始めました。 私はコンパイラ/インタプリタとしてDr. Racketを使用しています。 私はSRFI 13からコピーしたので、いくつかの文字列関数(文字列置換)が必要です。 私はそれをテストするとき、それは示してい.. reference to undefined identifier: let-string-start+end それは無視されていているようです d

    1

    1答えて

    を-構文は聞かせて、私は私の試みがある (begin (x 'f n) (x 'f n) (arbitrary) (x 'f n) ...) に ​​ を拡大したい:マクロステッパー (define-syntax foo (syntax-rules() ((_ l a ...) (let-syntax ((f (syntax-rules() (

    2

    2答えて

    私はラケットマクロに潜入し始めました。簡潔なマクロ定義マクロを作成しようとしています。構文規則で使用するために (define-syntax id (syntax-rules() ((id param) replacement1) ((id params ...) replacement2))) だから、元の式のCDDRは、表現のペアになっている(このような何

    0

    1答えて

    私はCommon LispからChicken Schemeに移動しようとしていますが、問題はたくさんあります。 現在の問題は次のとおりです。他のマクロを呼び出すマクロ(おそらくdefine-syntaxを使用していますか?)を書くにはどうすればよいですか?スキームでは、同等のコードが動作しないのに対し (defmacro append-to (var value) `(setf ,var (ap

    4

    2答えて

    私は "call/cc"を任意のコントロールフローのコンストラクトを実装するために使うことができるので、 "call/cc"を使ってそのようなコンストラクトを実装しようとしていますが、私が "if-syntax"と "call/cc"を使ってどのように実装するのか、 "if"がないと仮定しますか?それは可能なのか、それとも私は誤解されたことがありますか?私は "call/cc"を使って無条件ジャン