You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sorry, but I think your expectations are wrong. R7RS-small has a very limited class of errors that have to be signalled, e.g. opening an input file that does not exist, and those are described with exact kind of exceptions that need to be raised. The rest are just "an error"s that the implementation can handle in any way it pleases.
I might be wrong. My expectations come from other implementations, Chibi, Chicken 5 (with r7rs library), Cyclone, Foment, Gambit, Gauche, Guile, Kawa, mit-scheme, Mosh, Racket (with r7rs library), Sagittarius, STklos, tr7 and Ypsilon give the output Value of f is: #f.
I tested also with
(define f
(guard (error (else #f))
(vector-ref (vector) 100)))
And got same results.
For context I'm trying to make some implementation of "SRFI-64: A Scheme API for test suites" portable. The SRFI contains test-error procedure which should test if given code errors. Running tests on the SRFI on other implementations works on that part. But Skint stops, so I thought to open an issue about it.
I'll add an exception to the tests for Skint or change them to use (error..) instead of vector access. This issue can be closed.
Given code:
Run with for example Chibi, Guile or Kawa gives output:
but run with skint I get an error:
If I switch line 11 with:
then Skint gives me right output. I would expect all errors to be captured.
The text was updated successfully, but these errors were encountered: