Splitting foreign-error:code Lassi Kortela (27 Jul 2020 06:46 UTC)
Re: Splitting foreign-error:code Lassi Kortela (27 Jul 2020 08:26 UTC)
Re: Splitting foreign-error:code Lassi Kortela (27 Jul 2020 08:51 UTC)
Re: Splitting foreign-error:code John Cowan (28 Jul 2020 19:25 UTC)
Flat vs nested alist Lassi Kortela (27 Jul 2020 23:50 UTC)
Re: Flat vs nested alist Lassi Kortela (27 Jul 2020 23:53 UTC)
Re: Flat vs nested alist John Cowan (28 Jul 2020 03:06 UTC)
Pre-SRFI for property list utilities Lassi Kortela (28 Jul 2020 07:35 UTC)
Re: Pre-SRFI for property list utilities hga@xxxxxx (28 Jul 2020 11:00 UTC)
Plist utilities and SRFI 198 Lassi Kortela (28 Jul 2020 11:08 UTC)
Re: Plist utilities and SRFI 198 John Cowan (28 Jul 2020 18:12 UTC)
plist pre-SRFI hga@xxxxxx (12 Aug 2020 15:14 UTC)
Re: plist pre-SRFI John Cowan (12 Aug 2020 15:21 UTC)
Re: plist pre-SRFI John Cowan (12 Aug 2020 15:53 UTC)
Re: plist pre-SRFI hga@xxxxxx (12 Aug 2020 15:58 UTC)
Re: plist pre-SRFI John Cowan (12 Aug 2020 16:59 UTC)
Re: plist pre-SRFI hga@xxxxxx (12 Aug 2020 17:34 UTC)
Re: plist pre-SRFI John Cowan (12 Aug 2020 19:37 UTC)
Use of SRFI 198 in SRFI 170 hga@xxxxxx (12 Aug 2020 20:04 UTC)

Re: Splitting foreign-error:code Lassi Kortela 27 Jul 2020 08:51 UTC

Another possible API: "code" and "mnemonic".

(foreign-error:code ferr) -> 2
(foreign-error:mnemonic ferr) -> 'ENOENT

(foreign-error:code ferr 'sqlstate) -> '|28P01|
(foreign-error:mnemonic ferr) -> 'invalid_password

The term "identifier" is a bit vague. In Scheme, an identifier is like a
symbol, not like a number. But in general parlance, a number can
"identify" an error just as well as a symbol. And SQLSTATE codes can
contain letters, so they need to be represented as Scheme symbols which
are approximately the same as Scheme identifiers. Hence if a
`foreign-error:identifier` did not return the SQLSTATE code, that could
be confusing.

I like "number" better than "code" for clarity - "code" is more abstract
i.e. more vague. But it seems the real world is not simple enough.