From b6c3c364d0457477f206fe549e529fd2c33f6501 Mon Sep 17 00:00:00 2001 From: sforman Date: Thu, 10 Aug 2023 21:49:37 -0700 Subject: [PATCH] A start on dictionaries using srfi-69 hash tables. --- implementations/scheme-chicken/joy.scm | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/implementations/scheme-chicken/joy.scm b/implementations/scheme-chicken/joy.scm index 4850486..6a91587 100644 --- a/implementations/scheme-chicken/joy.scm +++ b/implementations/scheme-chicken/joy.scm @@ -1,4 +1,5 @@ (import (chicken string)) +(import srfi-69) (define (joy stack expression dict) (if (null? expression) @@ -81,6 +82,21 @@ (joy '() (text->expression text) '()) (joy-expression->string stack))) -(display (doit "ab cd [[ ]] 23 4 - [true] false")) + +(define (initialize defs dict) + (map (lambda (def) (add-def dict def)) (string-split defs "\n"))) + +(define (add-def def dict) + (let ((def_list (text->expression def))) + (hash-table-set! dict (car def_list) (cdr def_list)))) + + + + + + + + +(display (doit "ab cd [[ ]] 23 4 - dup - [true] false")) (newline)