bug-guile
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#18224: Shared arrays are incompatible with bytevector accessors


From: Panicz Maciej Godek
Subject: bug#18224: Shared arrays are incompatible with bytevector accessors
Date: Fri, 8 Aug 2014 16:48:08 +0200

Creating a shared array based on a bytevector results with an object
whose print representation is identical with a print-representation of
a bytevector:

(define bv #vu8(0 1 2 3))

(define bv/shared
  (make-shared-array bv (lambda(i)(list (+ i 2))) '(0 1)))
bv/shared
====> #vu8(2 3)

However, accessing these "shared bytevectors" using the bytevector api
is impossible:

(bytevector-u8-ref bv/shared 0)
====> error: wrong type argument in position 1 (expecting bytevector): #vu8(2 3)

Since the print-representation is identical, this behaviour is
unexpected. Furthermore, the lack of capability of creating shared
bytevectors limits their usefullness. On the other hand, if the shared
bytevector remains contiguous, there should be no performance
concerns.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]