Introspection Wolfgang Corcoran-Mathe (10 May 2020 23:41 UTC)
Re: Introspection Marc Nieper-Wißkirchen (11 May 2020 07:11 UTC)
Multiple-values SRFI Lassi Kortela (11 May 2020 09:09 UTC)
Re: Multiple-values SRFI Marc Nieper-Wißkirchen (11 May 2020 09:41 UTC)
Re: Multiple-values SRFI Lassi Kortela (11 May 2020 10:52 UTC)
Re: Multiple-values SRFI Lassi Kortela (11 May 2020 11:04 UTC)
Re: Introspection John Cowan (11 May 2020 18:02 UTC)
Re: Introspection Marc Nieper-Wißkirchen (11 May 2020 18:26 UTC)
Re: Introspection Marc Feeley (11 May 2020 18:34 UTC)
Re: Introspection Marc Nieper-Wißkirchen (11 May 2020 19:29 UTC)
Re: Introspection Marc Feeley (12 May 2020 04:15 UTC)
Re: Introspection John Cowan (12 May 2020 15:36 UTC)
Re: Introspection Lassi Kortela (12 May 2020 16:07 UTC)
Re: Introspection John Cowan (12 May 2020 18:19 UTC)
Re: Introspection Lassi Kortela (12 May 2020 18:46 UTC)
Re: Introspection Marc Nieper-Wißkirchen (04 Jun 2020 16:39 UTC)
Re: Introspection Marc Nieper-Wißkirchen (09 Jun 2020 08:38 UTC)
Re: Introspection John Cowan (09 Jun 2020 17:53 UTC)
Re: Introspection Marc Nieper-Wißkirchen (09 Jun 2020 19:39 UTC)
Re: Introspection John Cowan (10 Jun 2020 21:46 UTC)
Re: Introspection Marc Nieper-Wißkirchen (11 Jun 2020 11:55 UTC)
Re: Introspection Marc Nieper-Wißkirchen (04 Jun 2020 16:36 UTC)

Introspection Wolfgang Corcoran-Mathe 10 May 2020 23:41 UTC

Re: Marc's response on the "Asking Introspection" thread:

> There is a second way, however, which can also be applied in other
> situations where multiple values occur. What I am thinking of are
> special forms not restricted to boxes (but could be applied to, say,
> the Justs and Rights of SRFI 189 likewise) as follows:
>
> (values->vector <expr>)
> (values-length <expr>)
> (values->list <expr>)
> (values-ref <expr> <index>)
>
> These are expressions defined as syntax (important because Scheme's
> applicative syntax doesn't allow multiple values). When they are
> evaluated, <expr> is evaluated and expected to return values, which
> are then converted to a vector, a list, etc. Moreover, as this is
> syntax, an implementation can expand these forms into the most
> efficient ones.

I really like these forms as a solution to the multiple-value
container introspection issue (which has also appeared with SRFI
189), and as a convenient interface to multiple values, in general.

(Sorry for replying off-thread; I subscribed after the last message
in that thread was sent.)

Regards,

--
Wolfgang Corcoran-Mathe  <xxxxxx@sigwinch.xyz>

"... if I found the right chair to work in, all compositional
problems would become nonexistant." --Morton Feldman