Repository: https://github.com/sile/cl-dawg/
License: MIT
Quick assessment (2023-04-22)
- Tested with CCL and MKCL, after applying the fixes mentioned below.
- Test keys are in words.txt, and they are in lexicographic order—as required.
- Line 43 of global.lisp: Wrong for Lisps with distinct string and base-string.
- Line 45 of dict.lisp: Wrong type declaration—for the argument—rejected by CCL.
- Line 105 of dawg.lisp: Wrong the expression since the ID is initially negative.
- ASDF warns on load-hashmap.lisp: "please use proper dependencies instead."
(dawg:build :input "M:/common-lisp/words.txt"
:output "M:/common-lisp/words.dawg")
(defparameter *words-dawg*
(dawg:load "M:/common-lisp/words.dawg"))
Testing the key lookup interface:
> (values (dawg:get-id "ALGOL" *words-dawg*)
(dawg:get-id "zoos" *words-dawg*))
0
45401
These are the IDs of the first and last word, respectively.
data structure