3 ms·
> Certainly not worse ratio than many contemporary or even modern languages CL has no standardized extensible abstraction classes for basic collection types.
by nabla9 5y ago
> Certainly not worse ratio than many contemporary or even modern languages
CL has no standardized extensible abstraction classes for basic collection types. Almost all languages have that because it's so essential for communicating between libraries. I'm relatively sure Swift has one Only other language similar to CL in this regard is C.
And you can't ask if what you have is mapping of symbol number pairs. CL has multiple libraries that fix this problem but no significant convergence has emerged.
For simple key value pairs or maps you must keep track and convert between
;; property list (implicit type)
(type-of '(foo 1 bar 2 baz 3)) => CONS
;; assoc-list (implicit type)
(type-of '((foo . 1) (bar . 2) (baz . 3))) => CONS
;; list of lists (implicit type)
(type-of '((foo 1) (bar 2) (baz 3))) => CONS
;; hash-table (explicit only about being hash table)
(type-of #<HASH-TABLE :TEST EQL :COUNT 3 {10018A8023}>) => HASH-TABLE)