From b214b07a67d48ad9205f63641891ff173ff53fca Mon Sep 17 00:00:00 2001 From: Mike Vink <> Date: Wed, 19 Apr 2023 12:44:58 +0200 Subject: working on complex package excercise --- shared/data-directed-programming.rkt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'shared/data-directed-programming.rkt') 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) -- cgit v1.2.3