~bouncepaw/agidel-syntrans

fdcefc7ed36416894f5816e8e60bd1b52262c166 — Timur Ismagilov 5 years ago 86e799d
Make `prepare` work correctly
1 files changed, 3 insertions(+), 3 deletions(-)

M prepare.scm
M prepare.scm => prepare.scm +3 -3
@@ 14,7 14,7 @@
 (define signatures (make-hash-table))

 (define (aquote expr)
   (quote expr))
   `(quote ,expr))

 (define (q/e->λ q/e)
   (cond


@@ 31,7 31,7 @@
   (define (normal-parser . args)
     (define λs (map q/e->λ signature))
     (map (lambda (λ+arg)
            ((car λ+arg) (cdr λ+arg)))
            (apply (car λ+arg) (cdr λ+arg)))
          (zip λs args)))

   (define (normal+rest-parser . args)


@@ 55,7 55,7 @@
            (name-of-λ*  (symbol-append '/agidel/ name-of-λ))
            (args        (cdr expr))
            (parser      (make-parser name-of-λ))
            (parsed-args (parser args)))
            (parsed-args (apply parser args)))
       (cons name-of-λ* parsed-args)))
    (else expr)))