[plt-scheme] R6RS and PLoT
Thanks David (again)
David Van Horn wrote:
> LordGeoffrey wrote:
>> In R5RS, the example from the docs works fine:
>> #lang scheme
>> (require plot)
>> (define data1 (list (vector 1 1 2)
>> (vector 2 2 2)))
>> (plot (error-bars data1))
>>
>>
>> In R6RS, not so much success:
>> #!r6rs
>> (import (rnrs base (6))
>> (plot))
>> (define data1 (list (vector 1 1 2)
>> (vector 2 2 2)))
>> (plot (error-bars data1))
>>
>> Results in
>> map: expects type <proper list> as 2nd argument, given: {#(1 1 2) #(2
>> 2 2)}; other arguments were: #<procedure:vector-y>
>
> PLT Scheme and R6RS have different notions of the list datatype. You
> have to convert between them when you pass an R6RS (mutable) list to a
> function expecting an immutable list:
>
> #lang r6rs
> (import (rnrs)
> (plot)
> (scheme mpair))
>
> (define data1 (mlist->list (list (vector 1 1 2)
> (vector 2 2 2))))
> (plot (error-bars data1))
>
> This still doesn't show anything in the interactions window, but that
> is a separate issue. You can use (display (plot ...)) to see the result.
>
> David
>
>