I'm writing a moderately complex Emacs package and not being a Lisp guru I wonder what is the best way to handle data structures in Elisp. The emphasis is not on efficiency, rather on readability.

For example, from a function I want to return three values. How should I do this?

Using a list? (Value1 Value2 Value3)?

This has the disadvantage of storing specific values on specific positions, so the caller must now the first element of the list is Value1, etc. And what if the return value is changed later and Value2 is not returned anymore? Then I have to fix every invocation of the function.

Or maybe an association list? '((value1 . 3) (value2 . 4) (value3 . 5))
It's certainly more resistant to code changes, but feels a bit heavyweight. (Maybe its just me.)


Or is there an other Lispish way to handle structured data I don't know about?

--
Using Opera's revolutionary e-mail client: http://www.opera.com/m2/
_______________________________________________
Help-gnu-emacs mailing list
Help-gnu-emacs@gnu.org
http://lists.gnu.org/mailman/listinfo/help-gnu-emacs

Reply via email to