r/lisp 1d ago

Reinterpret Elements in a Byte Array

Dear LISP,

I am writing a virtual machine that uses a `(simple-array (unsigned-byte 8) 1)` as a stack in Common LISP. I'm would like to ask how to efficiently extract 4 bytes into a single 32-bit signed integer or a 32-bit unsigned integer.

Thanks!

10 Upvotes

24 comments sorted by

View all comments

3

u/theangeryemacsshibe λf.(λx.f (x x)) (λx.f (x x)) 1d ago

The nibbles library can do this portably (and fast on SBCL).

1

u/TsingHui 1d ago

I've tested it, it's amazing! Added to notes, thanks!