Ticket #484: testegg.scm

File testegg.scm, 640 bytes (added by Alan Post, 15 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))