(module testegg (make-foo make-bar) (import scheme) (import matchable) (define (make-foo cmene valsi) `(,cmene ,valsi)) (define (make-bar cmene nastura porjahe) (write `(,nastura ,porjahe)) (newline) (match `(,nastura ,porjahe) ((#t #t) (lambda (ignore-valsi) (lambda () `(,(make-foo cmene #f))))) ((#t #f) (lambda (ignore-valsi) (lambda () (make-foo cmene #f)))) ((#f #t) (lambda (valsi) (lambda () `(,(make-foo cmene valsi))))) ((#f #f) (lambda (valsi) (lambda () (make-foo cmene valsi)))))) (write (((make-bar "aisa" #f #f) "baz"))) (newline))