squint 2025-10-14

idea:

(assoc ^object x :b :c) => { ...x, b: 'b', c: 'c' }
so compile directly to inline spread

not sure what the right tag name should obj: ^obj or ^object - any precedence here?

of course we will add type tracking too, at least for args + local references

I do encounter some object tags on Github in .cljs files

would (conj ^array x b c) => […x, b, c] ?

👍 1

should that be { ...x, b: 'c' }?

👍 1

yes, you're right, both!

Calling an actual function like .assign() always feels cleaner to me than special syntax.

what Object.assign basically is is merge! which doesn't even exist in squint AFAIK

👍 1