Please change the name Lassi Kortela (21 Oct 2022 11:12 UTC)
Re: Please change the name Marc Nieper-Wißkirchen (21 Oct 2022 11:54 UTC)
Re: Please change the name Lassi Kortela (21 Oct 2022 13:03 UTC)
Re: Please change the name Marc Nieper-Wißkirchen (21 Oct 2022 13:16 UTC)
Re: Please change the name Lassi Kortela (21 Oct 2022 14:31 UTC)
Re: Please change the name Marc Nieper-Wißkirchen (21 Oct 2022 15:00 UTC)
Re: Please change the name Lassi Kortela (21 Oct 2022 16:25 UTC)
Re: Please change the name Marc Nieper-Wißkirchen (21 Oct 2022 17:43 UTC)
Re: Please change the name Marc Nieper-Wißkirchen (21 Oct 2022 18:10 UTC)
Re: Please change the name Lassi Kortela (21 Oct 2022 22:32 UTC)
Re: Please change the name Marc Nieper-Wißkirchen (22 Oct 2022 08:03 UTC)
Re: Please change the name Lassi Kortela (22 Oct 2022 11:30 UTC)
Re: Please change the name Marc Nieper-Wißkirchen (22 Oct 2022 11:39 UTC)
Re: Please change the name Marc Nieper-Wißkirchen (22 Oct 2022 11:53 UTC)
Re: Please change the name Marc Feeley (22 Oct 2022 12:19 UTC)
Re: Please change the name Marc Nieper-Wißkirchen (22 Oct 2022 12:29 UTC)
Re: Please change the name Lassi Kortela (22 Oct 2022 13:17 UTC)
Re: Please change the name Marc Nieper-Wißkirchen (22 Oct 2022 13:26 UTC)
Re: Please change the name Marc Feeley (21 Oct 2022 13:17 UTC)
Re: Please change the name Marc Nieper-Wißkirchen (21 Oct 2022 13:26 UTC)

Re: Please change the name Marc Nieper-Wißkirchen 22 Oct 2022 11:38 UTC

Am Sa., 22. Okt. 2022 um 13:30 Uhr schrieb Lassi Kortela <xxxxxx@lassi.io>:
>
> > Having a static type system is orthogonal to banning mutation, isn't it?
>
> It is, but effect types let you have mutation with some guarantees that
> the mutations don't step on each other's toes.

Yes, you can use a static type system for this; a hypothetical Scheme
dialect could use other methods.  In the end, of course, it depends on
the definition of what you call a type system. At least on the level
of macros, it is not hard to emulate some kind of type system with
Scheme.  But we digress. :(

> > If you don't see it that drastic, feel free to suggest different names
> > that you think would better carry the meaning of the "perform" form. I
> > just defy calling the form "unsafe". There's nothing unsafe about it
> > in the usual sense of unsafety. (For, otherwise, every procedure
> > evaluation and every "let" form would be unsafe, as well as would be
> > "map", etc.) The name should not be too complicated because people
> > should be encouraged to use the form whenever it carries the semantic
> > content better than "begin".
>
> Since those basic features can be out-of-order in Scheme you have a
> point. It's too late to change the fundamentals in RnRS.
>
> How about the name "independently"? That describes what it does while
> not being too short or too long.
>
> (define (set-car+cdr! p x y)
>    (assert (pair? p))
>    (independently
>      (set-car! p x)
>      (set-cdr! p y)))
>
> (let ((bv (make-bytevector 36)))
>    (independently
>      (bytevector-u32-native-set! bv 32 offset)
>      (bytevector-u32-native-set! bv 28 (xid-id shmseg))
>      (bytevector-u8-set! bv 27 0)
>      (bytevector-u8-set! bv 26 (if send-event 1 0))
>      (bytevector-u8-set! bv 25 format)
>      (bytevector-u8-set! bv 24 depth)
>      (bytevector-s16-native-set! bv 22 dst-y)
>      (bytevector-s16-native-set! bv 20 dst-x)
>      (bytevector-u16-native-set! bv 18 src-height)
>      (bytevector-u16-native-set! bv 16 src-width)
>      (bytevector-u16-native-set! bv 14 src-y)
>      (bytevector-u16-native-set! bv 12 src-x)
>      (bytevector-u16-native-set! bv 10 total-height)
>      (bytevector-u16-native-set! bv 8 total-width)
>      (bytevector-u32-native-set! bv 4 (xid-id gc))
>      (bytevector-u32-native-set! bv 0 (xid-id drawable)))
>    bv)

Wow! That's an excellent idea for a name! I would like to adapt it.