A word about why I used SET instead of DEFUN in the last example. This is a on-going developing quirk of personal preference. In this case, I think of `dog`, `pig`, and `cat` as more of a `symbol` with a `method` then a full fledged `function` with an `operation`. I believe the use of DEFUN may be faster but again this is more of a personal preference thing. However the SET functions have a type of USUBR instead of SUBR if that means anything to you.
i vote for associations listslike ((0 . dog)(1 . bark)(2 . eat))?
like ((0 . dog)(1 . bark)(2 . eat))?or
(setq animals (list (list 'dog
(list 'properties 'fluffy 'friendly 'noisy)
(list 'abilities 'wag-tail 'bark 'bite)
)
(list 'cat
(list 'properties 'fluffy 'unfriendly 'silent)
(list 'abilities 'lick-tail 'meow 'bite)
)
)
)
(setq abilities (list (list 'wag-tail '(princ "wag, wag"))
(list 'lick-tail '(princ "lick, lick"))
(list 'bark '(princ "woof, woof"))
(list 'meow '(princ "meow, meow"))
(list 'bite '(princ "yam, yam"))
)
)