Cool. Thanks all.

On Mon, Jul 26, 2021 at 2:18 PM <[email protected]> wrote:

> Here's one way to do that in scheme:
>
> (require mockery.scm)
>
> (define (meta-vector v data)
>    (openlet
>     (sublet (*mock-vector* 'mock-vector-class)
>       'value v
>       'mock-type 'mock-vector?
>       'meta-data data)))
>
> (define v (meta-vector #(0 1 2) "hiho"))
>
> (display (v 1))
> 1
>
> (display (v 'meta-data))
> hiho
>
> (display v)
> #(0 1 2)
>
> (vector? v)
> #t
>
> heh heh -- the last is a lie of course; it's actually
> a let trying to masquerade as a vector.  mockery.scm
> defines several such "mock data" types.
>
> _______________________________________________
> Cmdist mailing list
> [email protected]
> https://cm-mail.stanford.edu/mailman/listinfo/cmdist
>
_______________________________________________
Cmdist mailing list
[email protected]
https://cm-mail.stanford.edu/mailman/listinfo/cmdist

Reply via email to