News for hackers. Stuff that matters.
Re:Show HN: Gelidum – My Python library to freeze objects by macintux on Monday June 14, 2021 @07:55PM (#27509852)
Speaking as someone who Friday had to fix an embarrassing bug in my Python code because lists aren’t immutable when passed to another function, I like the way you think.

I will say, however, that what I want from Python isn’t actually “frozen” data structures but cloned ones (or, like some/most FP languages, structures with nested values that are only cloned when necessary).

Vals, not vars.

Re:Show HN: Gelidum – My Python library to freeze objects by BerislavLopac on Tuesday June 15, 2021 @03:40AM (#27512401)
> lists aren’t immutable when passed to another function

Well, lists are never immutable in Python; you want to use tuples for that.

Re:Show HN: Gelidum – My Python library to freeze objects by macintux on Tuesday June 15, 2021 @06:13PM (#27522220)
True, what I really want is referential transparency, not immutability per se.

I’ve only used tuples in Python as a small data structure, will have to experiment with using them as a list substitute, thanks.

Re:Show HN: Gelidum – My Python library to freeze objects by BerislavLopac on Wednesday June 16, 2021 @07:52AM (#27527461)
Just keep in mind that a tuple's elements can still be mutable, so it's not a "frozen" data structure throughout.
Re:Show HN: Gelidum – My Python library to freeze objects by diegojromero on Tuesday June 15, 2021 @04:10AM (#27512562)
Interesting idea, instead of a deep clone, would it be something similar to the copy-on-modify pattern?
Re:Show HN: Gelidum – My Python library to freeze objects by macintux on Tuesday June 15, 2021 @06:12PM (#27522200)
Copy on modify would work, certainly. The term I was forgetting when I wrote that is “persistent” data structures, but I’m not sure whether it’s practical to implement persistent structures in a non-functional language like Python.

https://hypirion.com/musings/understanding-persistent-vector...