While it is possible to shuffle with array indices arbitrarily, the
ability to convert array types is very limited. For example, it would
be nice to be able convert a uniform vector of unsigned bytes to a
uniform vector of some other size:

(define bytes #u8(0 0 255 255))

(define words
  (make-typed-shared-array 'u16 (native-endianness) bytes
    (lambda(i)(list (* i 2))) '(0 1))
words
====> #u16(0 65535)

In addition to SRFI-4 types, the conversion should be compatible with
R6RS bytevectors



Reply via email to