Re: Extensibility (and the lack thereof)
Marc Nieper-Wißkirchen 29 Oct 2020 16:42 UTC
Am Do., 29. Okt. 2020 um 01:17 Uhr schrieb John Cowan <xxxxxx@ccil.org>:
>> The only thing that should be changed in my opinion is the `proc`
>> argument, which should become an expand-time object (like a
>> record-type descriptor can be).
>
>
> What kind of expand-time object? We have no expand-type counterparts of procedures.
A match form is essentially compiled at expand-time, so we do not have
to put a procedure in the place. It could be a macro keyword instead
and the match macro can communicate that macro as expand-time.
(Customization at runtime, which would be possible with a procedure,
isn't too helpful here because the actual match pattern is fixed at
runtime.)
>
>> Whatever general solution we agree on, it also has to be able
>> to handle streams, for example.
>
>
> It doesn't *have* to handle them. It would be nice if it did, but I don't think that's nearly as important as handling arbitrary record types and sum types.
Of course, *have to* is not meant in the absolute sense, only in a
strong relative sense. But if the model doesn't support them, the
model is likely flawed.