From 18c76b6891d4eee01d72aafa77cc353b8b63a2f9 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Fri, 26 Jan 2018 12:26:19 -0500 Subject: [PATCH] Working through macro expansion --- match-test.scm | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/match-test.scm b/match-test.scm index 143acb66..afd6464c 100644 --- a/match-test.scm +++ b/match-test.scm @@ -15,17 +15,35 @@ (display ;(match "test" ((? string? s) s) (else #f)) + ; ;(let ((v "test")) ; (match-next v ("test" (set! "test")) ((? string? s) s) (else #f))) + ; ;(let ((v "test")) ; (let ((failure (lambda () (match-next v ("test" (set! "test")) (else #f))))) ; (match-one v ((? string? s) s) ("test" (set! "test")) (match-drop-ids (begin . s)) (failure) ()))) + ; + ;(let ((v "test")) + ; (let ((failure (lambda () (match-next v ("test" (set! "test")) (else #f))))) + ; (match-check-ellipsis + ; s + ; (match-extract-vars (? string? s) (match-gen-ellipsis v (? string? s) () ("test" (set! "test")) (match-drop-ids (begin . s)) (failure) ()) () ()) + ; (match-two v ((? string? s) s) ("test" (set! "test")) (match-drop-ids (begin . s)) (failure) ())))) + ; + ;(let ((v "test")) + ; (let ((failure (lambda () (match-next v ("test" (set! "test")) (else #f))))) + ; (match-check-ellipsis + ; s + ; (match-extract-vars (? string? s) (match-gen-ellipsis v (? string? s) () ("test" (set! "test")) (match-drop-ids (begin . s)) (failure) ()) () ()) + ; (match-two v ((? string? s) s) ("test" (set! "test")) (match-drop-ids (begin . s)) (failure) ())))) + ; + ;(let ((v "test")) + ; (let ((failure (lambda () (match-next v ("test" (set! "test")) (else #f))))) + ; (match-two v ((? string? s) s) ("test" (set! "test")) (match-drop-ids (begin . s)) (failure) ()))) + ; (let ((v "test")) (let ((failure (lambda () (match-next v ("test" (set! "test")) (else #f))))) - (match-check-ellipsis - s - (match-extract-vars (? string? s) (match-gen-ellipsis v (? string? s) () ("test" (set! "test")) (match-drop-ids (begin . s)) (failure) ()) () ()) - (match-two v ((? string? s) s) ("test" (set! "test")) (match-drop-ids (begin . s)) (failure) ())))) + (match-two v ((? string? s) s) ("test" (set! "test")) (match-drop-ids (begin . s)) (failure) ()))) )