From 8f21c65e5f8bc35e84abe3ae189b0c6795e70d3f Mon Sep 17 00:00:00 2001 From: Nicolas Verbois <nicolas.verbois@student.uclouvain.be> Date: Wed, 23 Mar 2022 18:03:32 +0000 Subject: [PATCH] Upload New File --- step_1.rkt | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 step_1.rkt diff --git a/step_1.rkt b/step_1.rkt new file mode 100644 index 0000000..b5663f7 --- /dev/null +++ b/step_1.rkt @@ -0,0 +1,33 @@ +#lang r5rs + +(define (point x y) + (define (setx value) + (set! x value)) + (define (add point) + (list (+ x (point 'getx)) (+ y (point 'gety)))) + (define (self m) + (cond ((eq? m 'getx) x) + ((eq? m 'gety) y) + ((eq? m 'type) 'point) + ((eq? m 'info) (list (self 'type) (self 'getx) (self 'gety)) ) + ((eq? m 'setx!) setx ) + ((eq? m 'add) add) + (else (display "ERROR")))) + self) + +(display "coucou") + +(define p1 (point 1 2)) +(define p2 (point 3 4)) +(display (p1 'getx)) +(newline) +(display (p1 'gety)) +(newline) +(display (p1 'type)) +(newline) +(display (p1 'info)) +(newline) +((p1 'setx!) 5) +(display (p1 'getx)) +(newline) +(display ((p1 'add) p2)) -- GitLab