From efb4865c81bfef747428303d5388fb1889db5769 Mon Sep 17 00:00:00 2001 From: bd Date: Sun, 9 Jun 2024 23:20:44 -0600 Subject: Cleanup repository --- spellcheck/dictionary.scm | 37 +-------------------------- spellcheck/spellcheck-test.scm | 57 +----------------------------------------- 2 files changed, 2 insertions(+), 92 deletions(-) mode change 100644 => 120000 spellcheck/dictionary.scm (limited to 'spellcheck') diff --git a/spellcheck/dictionary.scm b/spellcheck/dictionary.scm deleted file mode 100644 index 856fec5..0000000 --- a/spellcheck/dictionary.scm +++ /dev/null @@ -1,36 +0,0 @@ -(define-module (dictionary) - #:export (create-dictionary - dict-occur-ref - dict-keys-ref - dict-values-ref)) - -(define (create-dictionary lst) - (dictionary-helper (make-hash-table) lst)) - -(define (dictionary-helper dict rest) - "Recursively adds words to DICT." - (if (null? rest) - dict - (begin - (dict-inc-word dict (car rest)) - (dictionary-helper dict (cdr rest))))) - -(define (dict-inc-word dict e) - "Inserts word E into the DICT, using E -as a key and the running total of occurances -as the value." - (hashq-set! - dict e (1+ (dict-occur-ref dict e)))) - -(define (dict-occur-ref dict e) - "A wrapper for hashq-ref. Returns '0' if an element -is not present, rather than '#f'." - (or (hashq-ref dict e) 0)) - -(define (dict-keys-ref dict) - "Returns a list of all words in the dictionary." - (map car (hash-map->list cons dict))) - -(define (dict-values-ref dict) - "Sums up the total number of occurances for all words." - (apply + (map cdr (hash-map->list cons dict)))) diff --git a/spellcheck/dictionary.scm b/spellcheck/dictionary.scm new file mode 120000 index 0000000..237a3c6 --- /dev/null +++ b/spellcheck/dictionary.scm @@ -0,0 +1 @@ +../dictionary/dictionary.scm \ No newline at end of file diff --git a/spellcheck/spellcheck-test.scm b/spellcheck/spellcheck-test.scm index 438384d..55fce48 100644 --- a/spellcheck/spellcheck-test.scm +++ b/spellcheck/spellcheck-test.scm @@ -1,61 +1,6 @@ (use-modules (srfi srfi-64) - (dictionary) - (mutate)) + (mutate)) -(define simple-dict (create-dictionary '("word"))) -(define complex-dict (create-dictionary '("Again" "the" "thirst" - "quencher" "of" "wolves" - "embarked" "on" "a" "well" - "prepared" "expedition" - "eastward" "the" "generous" - "ruler" "moved" "the" "bitter" - "heart" "of" "the" "snake" - "across" "the" "fire"))) - -(test-begin "dictionary") - - -(test-assert "create-dictionary returns hashtable" - (hash-table? - (create-dictionary '()))) - -(define dict (create-dictionary '("word"))) - -(test-equal "list-keys-single" - '("word") - (dict-keys-ref simple-dict)) - -(test-equal "count-values-single" - 1 - (dict-values-ref simple-dict)) - - -(test-equal "retrieve single" - 1 - (dict-occur-ref complex-dict "wolves")) - -(test-equal "retrieve double" - 2 - (dict-occur-ref complex-dict "of")) - -(test-equal "retrieve quintuple" - 5 - (dict-occur-ref complex-dict "the")) - -(test-equal "retrieve zero" - 0 - (dict-occur-ref complex-dict "king")) - -(test-equal "list-keys-sentence" - '("Again" "a" "across" "bitter" "eastward" "embarked" "expedition" "fire" "generous" "heart" "moved" "of" "on" "prepared" "quencher" "ruler" "snake" "the" "thirst" "well" "wolves") - (sort (dict-keys-ref complex-dict) string