Re: [ANN] CHICKEN 5.4.0 release candidate 2 available
Marc Feeley <[email protected]>
| Newsgroups | gmane.lisp.scheme.chicken |
|---|---|
| Message-ID | <[email protected]> |
It would be an error to do otherwise, as explained in this paragraph of the SRFI-4 spec: This external representation is also available in program source code. For example, (set! x '#u8(1 2 3)) will set x to the object #u8(1 2 3). Literal homogeneous vectors must be quoted just like heterogeneous vectors must be. Homogeneous vectors can appear in quasiquotations but must not contain unquote or unquote-splicing forms (i.e. `(,x #u8(1 2)) is legal but `#u8(1 ,x 2) is not). This restriction is to accommodate the many Scheme systems that use the read procedure to parse programs. Marc > On Jul 7, 2024, at 2:37 PM, John Cowan <[email protected]> wrote: > > Not so much intentional as simply never considered at the time. > > On Sun, Jul 7, 2024 at 5:25 AM Kristian Lein-Mathisen <[email protected]> wrote: > > From my reading, R7RS does not support quasiquoted u8vectors either, the > formal grammer refers to "<qq template>" which seems to be allowed to > be only a list, a vector or a datum, the latter not being processed any further. > > I hope this makes sense. > > It does, thank you for explaining Felix. From my understanding, if you want to construct u8vectors mixing and matching expressions and raw literals then the run-time constructors is your only option. And this seems to be intensional by the language designers then. > > K.