:cyclone: A brand-new compiler that allows practical application development using R7RS Scheme. We provide modern features and a stable system capable of generating fast native binaries.
Hi there, I ran into a bug where I needed to branch on a procedure receiving either a record or a vector, and noticed that record type predicates don't check the length of the target before checking if the vector is actually a record so when my procedure received a vector with less than two entries it would crash when trying to access the record marker or record type name.
Hi there, I ran into a bug where I needed to branch on a procedure receiving either a record or a vector, and noticed that record type predicates don't check the length of the target before checking if the vector is actually a record so when my procedure received a vector with less than two entries it would crash when trying to access the record marker or record type name.
For example:
would crash with
So I added a check to the procedure returned from
make-type-predicate
to verify that the vector has three entries.Of course, there is still another problem in that the result of the following expression results in
#t