Safe versus unsafe arrays Bradley Lucier (28 Jul 2023 21:52 UTC)
Re: Safe versus unsafe arrays Arthur A. Gleckler (28 Jul 2023 22:19 UTC)
Re: Safe versus unsafe arrays Marc Nieper-Wißkirchen (29 Jul 2023 05:58 UTC)
Re: Safe versus unsafe arrays Arthur A. Gleckler (29 Jul 2023 06:00 UTC)
Re: Safe versus unsafe arrays Bradley Lucier (13 Aug 2023 19:49 UTC)
Re: Safe versus unsafe arrays Marc Nieper-Wißkirchen (13 Aug 2023 19:59 UTC)
Re: Safe versus unsafe arrays John Cowan (29 Jul 2023 22:11 UTC)
Re: Safe versus unsafe arrays Marc Nieper-Wißkirchen (30 Jul 2023 07:41 UTC)
Re: Safe versus unsafe arrays John Cowan (30 Jul 2023 08:46 UTC)
Re: Safe versus unsafe arrays Marc Nieper-Wißkirchen (30 Jul 2023 09:00 UTC)
Re: Safe versus unsafe arrays Bradley Lucier (30 Jul 2023 20:39 UTC)
Re: Safe versus unsafe arrays Marc Nieper-Wißkirchen (30 Jul 2023 20:49 UTC)
Re: Safe versus unsafe arrays John Cowan (30 Jul 2023 21:37 UTC)
Re: Safe versus unsafe arrays Marc Nieper-Wißkirchen (31 Jul 2023 19:49 UTC)
Re: Safe versus unsafe arrays Bradley Lucier (12 Aug 2023 17:58 UTC)
Re: Safe versus unsafe arrays Marc Nieper-Wißkirchen (12 Aug 2023 18:09 UTC)
Re: Safe versus unsafe arrays John Cowan (12 Aug 2023 19:22 UTC)

Re: Safe versus unsafe arrays Marc Nieper-Wißkirchen 31 Jul 2023 19:49 UTC

Am So., 30. Juli 2023 um 23:36 Uhr schrieb John Cowan <xxxxxx@ccil.org>:
>
>
>
> On Sun, Jul 30, 2023 at 4:49 PM Marc Nieper-Wißkirchen <xxxxxx@gmail.com> wrote:
>
>>
>> I would like to point out that using SRFI 145 is also a possibility.
>> The idea of SRFI 145's "assume" is that it raises an exception if the
>> assumption is not fulfilled when the compiler is not used with an
>> unsafe optimization flag.
>
>
> It *can* do that, but it is not a requirement of the SRFI.  "Assume" returns its argument if that argument is true.  If the argument is false, its behavior is unpredictable.  There is nothing about unsafe flags.  It is an expression that gives you access to the compiler's handling of "is an error" behavior, whatever it may be: an exception, a crash, demons flying out of your nose.

And this is exactly what we ultimately want. If you want to run your
Scheme system at maximal speed and your program is already debugged,
turn on the unsafe mode of the Scheme implementation; otherwise, turn
on the safe mode. Using "assume" makes your library behave exactly as
all standard R7RS-small libraries.