diff options
| author | Mike Vink <> | 2023-04-19 12:44:58 +0200 |
|---|---|---|
| committer | Mike Vink <> | 2023-04-19 12:44:58 +0200 |
| commit | b214b07a67d48ad9205f63641891ff173ff53fca (patch) | |
| tree | e896b886c39beb1a0d6963828a687288dbd9a52b /shared/data-directed-programming.rkt | |
| parent | 6d9a546f69023788d1b04fbd4722874466c3891d (diff) | |
working on complex package excercise
Diffstat (limited to 'shared/data-directed-programming.rkt')
| -rw-r--r-- | shared/data-directed-programming.rkt | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/shared/data-directed-programming.rkt b/shared/data-directed-programming.rkt index c756537..6cecaf1 100644 --- a/shared/data-directed-programming.rkt +++ b/shared/data-directed-programming.rkt @@ -2,6 +2,7 @@ (provide make-apply make-dispatch-table + printer getter putter attach-tag @@ -36,6 +37,9 @@ ;; ('op (list ('(types) item))) (define (make-dispatch-table) (define dispatch-table '()) + (define (printer) + (newline) + (display dispatch-table)) (define (get op types) (let ((op-datum (find-type op dispatch-table))) (if op-datum @@ -67,12 +71,14 @@ (attach-tag op (list (attach-tag types item))) dispatch-table)))) - (list dispatch-table get put)) + (list dispatch-table get put printer)) (define (getter t) (cadr t)) (define (putter t) (caddr t)) +(define (printer t) + (cadddr t)) (define (make-apply put get) (lambda (op . args) |
