Flat vs nested alist Lassi Kortela 27 Jul 2020 23:50 UTC

> (make-foreign-error
>   '((error-set . errno)
>     (code . 2)
>     (symbol . ENOENT)
>     (scheme-procedure . open-file)
>     (foreign-interface . open)
>     (message . "open-file called open: ...")
>     (arguments . ("not-a-valid-filename" 0 428))
>     (heritage . "SRFI 170")))

If we have a flat alist, we might as well use a plist which leads to
more Lispy constructor syntax, similar to keyword arguments:

(make-foreign-error
  'error-set errno
  'code 2
  'symbol ENOENT
  'scheme-procedure open-file
  'foreign-interface open
  'message "open-file called open: ..."
  'arguments '("not-a-valid-filename" 0 428)
  'heritage "SRFI 170")