> (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")