@ramin_hal9001 In both R7 and R6, a field can be mutable, and if so the mutator will actually mutate the record. There’s no facility for functional updates in either. I want to change this, but the record system in R6 was already victim of too much feature piling, and record systems in general are a particularly bad place for such (https://codeberg.org/scheme/r7rs/wiki/Record-system-features)
@dpk oh, sweet! Yeah, before I switched to Scheme I did most of my hobby projects in Haskell, and their immutable records are great! So easy to reason about. So I am definitely in favor of that feature. Also, I believe it is easier to optimize as the SSA pass of the compiler can more easily reason about immutable records, but I am not a compiler expert by any stretch of the imagination.