Ticket #484: testegg.scm

File testegg.scm, 640 bytes (added by Alan Post, 13 years ago)

match example that bugs out -scrutinize

Line 
1(module testegg
2  (make-foo
3   make-bar)
4
5(import scheme)
6(import matchable)
7
8(define (make-foo cmene valsi)
9  `(,cmene ,valsi))
10
11(define (make-bar cmene nastura porjahe)
12  (write `(,nastura ,porjahe))
13  (newline)
14  (match `(,nastura ,porjahe)
15    ((#t #t) (lambda (ignore-valsi)
16               (lambda () `(,(make-foo cmene #f)))))
17    ((#t #f) (lambda (ignore-valsi)
18               (lambda () (make-foo cmene #f))))
19    ((#f #t) (lambda (valsi)
20               (lambda () `(,(make-foo cmene valsi)))))
21    ((#f #f) (lambda (valsi)
22               (lambda () (make-foo cmene valsi))))))
23
24(write (((make-bar "aisa" #f #f) "baz")))
25(newline))