Email list hosting service & mailing list manager

Re: New draft (#14) of SRFI 231: Intervals and Generalized Arrays (Updated^2) Jeronimo Pellegrini (20 Jul 2022 10:56 UTC)

Re: New draft (#14) of SRFI 231: Intervals and Generalized Arrays (Updated^2) Jeronimo Pellegrini 20 Jul 2022 10:56 UTC

On 2022-07-19 21:50, Lucier, Bradley J wrote:
> On Jul 19, 2022, at 4:02 PM, Jeronimo Pellegrini (via srfi-231 list)
>> Only now I noticed that there is a procedure named array-freeze! in
>> the
>> SRFI. Not really an issue, but I'm curious as to wether there is
>> some
>> already used name for "make this object immutable" procedures, or if
>> these names were already discussed before. I recently proposed some
>> of
>> these to STklos, and they ended up being called "*-immutable!", just
>> because that seemed ok (no strong opinion though).
>>
>> J.
>
> No, there’s been no discussion of the name array-freeze!; it was a
> rather late addition to the library.
>
> I’m looking through the Github source of STklos and I see
>
> [new-host:~/programs/STklos] lucier% grep -R "doc EXT.*immutable!" *
> lib/srfi/116.c:<doc EXT list-immutable+! list-immutable!
> src/hash.c:<doc EXT hash-immutable!
> src/env.c:<doc EXT module-immutable!
> src/env.c:<doc EXT symbol-immutable!

Yes, and there are some new PRs that also bring these kind of procedure.

> Has there been discussion about the names in STklos?  Generally I
> prefer a verb (freeze!) to indicate such an operation, but I’m open
> to discussion.

Well, we initially used "*-lock!" (a verb!), but then changed to
"*-immutable!"
because it seemed more consistent with usual Scheme nomenclature (as
Lassi
mentioned in a PR [1]), but I still feel uncomfortable with all options
I have
seen. I have also considered "object-make-immutable!", which is ok with
Scheme
nomenclature ("immutable"), and is not a noun... But "make-immutable" is
composed
of two words, and feels a bit awkward.

I have no strong preference, and am not suggesting nothing specific,
actually.
It looks like there is not really a good word for this (I suppose...).

J.

[1] https://github.com/egallesio/STklos/pull/383