mirror of
https://github.com/justinethier/cyclone.git
synced 2025-05-25 13:05:05 +02:00
WIP
This commit is contained in:
parent
5e746db4f4
commit
b7c0288fa0
1 changed files with 31 additions and 4 deletions
|
@ -74,10 +74,37 @@
|
||||||
;(expand (match-check-ellipsis$270 s (match-extract-vars$269 and$262 (match-gen-ellipsis$268 v$1 and$262 () ("test" (set! "test")) (match-drop-ids$9 (begin s)) (failure$5) ()) () ()) (match-two$267 v$1 (and$262 s) ("test" (set! "test")) (match-drop-ids$9 (begin s)) (failure$5) ())))*/
|
;(expand (match-check-ellipsis$270 s (match-extract-vars$269 and$262 (match-gen-ellipsis$268 v$1 and$262 () ("test" (set! "test")) (match-drop-ids$9 (begin s)) (failure$5) ()) () ()) (match-two$267 v$1 (and$262 s) ("test" (set! "test")) (match-drop-ids$9 (begin s)) (failure$5) ())))*/
|
||||||
;(expand (match-two$267 v$1 (and$262 s) ("test" (set! "test")) (match-drop-ids$9 (begin s)) (failure$5) ()))*/
|
;(expand (match-two$267 v$1 (and$262 s) ("test" (set! "test")) (match-drop-ids$9 (begin s)) (failure$5) ()))*/
|
||||||
|
|
||||||
TODO: this does not work, try expanding it manually like we did with the other failing macros. maybe we can discover what's going wrong...
|
;;TODO: this does not work, try expanding it manually like we did with the other failing macros. maybe we can discover what's going wrong...
|
||||||
(display (match 1 ((or x 2) x)) )(newline)
|
;(display (match 1 ((or x 2) x)) )(newline)
|
||||||
|
(display
|
||||||
|
; (let ((v 1))
|
||||||
|
; (let ((failure (lambda () (match-next v (1 (set! 1)) (else #f)))))
|
||||||
|
; (match-two v (or x 2) (1 (set! 1)) (match-drop-ids (begin x)) (failure) ())))
|
||||||
|
|
||||||
(test-group
|
; (let ((v 1))
|
||||||
|
; (let ((failure (lambda () (match-next v (1 (set! 1)) (else #f)))))
|
||||||
|
;; ;(match-two v (or x 2) (1 (set! 1)) (match-drop-ids (begin x)) (failure) ())
|
||||||
|
; (match-extract-vars (or x 2) (match-gen-or v (x 2) (1 (set! 1)) (begin x) (failure) ()) () ())))
|
||||||
|
|
||||||
|
; (let ((v 1))
|
||||||
|
; (let ((failure (lambda () (match-next v (1 (set! 1)) (else #f)))))
|
||||||
|
; (match-gen-or v (x 2) (1 (set! 1)) (begin x) (failure) () ((x p-ls)))))
|
||||||
|
|
||||||
|
; (let ((v 1))
|
||||||
|
; (let ((failure (lambda () (match-next v (1 (set! 1)) (else #f)))))
|
||||||
|
; ;(match-gen-or v (x 2) (1 (set! 1)) (begin x) (failure) () ((x p-ls)))))
|
||||||
|
; (let ((sk2 (lambda (x) (begin (x)))))
|
||||||
|
; (match-gen-or-step v (x 2) (1 (set! 1)) (match-drop-ids (sk2 x)) (failure) ()))))
|
||||||
|
|
||||||
|
(let ((v 1))
|
||||||
|
(let ((failure (lambda () (match-next v (1 (set! 1)) (else #f)))))
|
||||||
|
;(match-gen-or v (x 2) (1 (set! 1)) (begin x) (failure) () ((x p-ls)))))
|
||||||
|
(let ((sk2 (lambda (x) (begin (x)))))
|
||||||
|
(let ((fk2 (lambda () (match-gen-or-step v (2) (1 (set! 1)) (match-drop-ids (sk2 x)) (failure) ()))))
|
||||||
|
(match-one v x (1 (set! 1)) (match-drop-ids (sk2 x)) (fk2) ())))))
|
||||||
|
)
|
||||||
|
|
||||||
|
#;(test-group
|
||||||
"predicates"
|
"predicates"
|
||||||
(test "test" (match "test" ((? string? s) s) (else #f)))
|
(test "test" (match "test" ((? string? s) s) (else #f)))
|
||||||
|
|
||||||
|
@ -85,7 +112,7 @@ TODO: this does not work, try expanding it manually like we did with the other f
|
||||||
(test #f (match 42 (X #f)))
|
(test #f (match 42 (X #f)))
|
||||||
)
|
)
|
||||||
|
|
||||||
(test-group
|
#;(test-group
|
||||||
"official tests"
|
"official tests"
|
||||||
|
|
||||||
(test 2 (match (list 1 2 3) ((a b c) b)) )
|
(test 2 (match (list 1 2 3) ((a b c) b)) )
|
||||||
|
|
Loading…
Add table
Reference in a new issue