diff options
| author | 2025-06-28 15:40:09 -0400 | |
|---|---|---|
| committer | 2025-06-28 15:40:09 -0400 | |
| commit | 343ceaae699bef4109525c8a1797b44defaf5b01 (patch) | |
| tree | f87226c6b3ec204af78b17a5a3841afd9c84f367 /test/run.scm | |
| parent | Change environments in untyped LC to use location comparators instead of (diff) | |
Fix list ellipses pattern matching
A lot of multisyntax was written to use `unwrap-syntax` deliberately, which I
now see as a mistake. Implict unwrapping using `syntax-cxr` (and maybe variants
like `syntax-vector-ref`) is probably less error prone.
Diffstat (limited to '')
| -rw-r--r-- | test/run.scm | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/test/run.scm b/test/run.scm index 201c849..dfcaf97 100644 --- a/test/run.scm +++ b/test/run.scm @@ -62,6 +62,24 @@ (empty-wrap '(let (x (lambda x x)) (x x))))))) (display (alpha expanded-list)) (newline)) +(let-values (((global-map expanded-list) + (expand initial-environment + (list (empty-wrap + '(define-syntax let + (syntax-rules () + ((let ((name value)) body) + ((lambda name body) value))))) + (empty-wrap + '(define-syntax or + (syntax-rules () + ((or) false) + ((or x y ...) + (let ((tmp x)) + (if tmp x (or y ...))))))) + (empty-wrap + '(or a b tmp c d e)))))) + (display (alpha expanded-list)) (newline)) + #;(begin (load "examples/untyped-lambda-calculus.sld") (import (multisyntax examples untyped-lambda-calculus test)) |
