You might also be interested to know that (= tbl.k v) expands to (sref tbl v k).
---
"the fact we can't assign a value to x with a derivative of that expression - that expression being good in itself."
Yeah, it would be kinda nice if (= (eval 'x) 2) worked. It could expand to (eval `(assign x (',(fn () 2)))). In fact, the defset utility lets us add that behavior ourselves if we want it.
>> In fact, the defset utility lets us add that behavior ourselves if we want it.
At this stage, I also can go back to C :)
Do you get what I mean? Arc, if I may, should be a language which is damn hard consistent at least on the basic concepts and which use kind of self generated strategy to reduce LOCs, not hard coded pseudo-concept like most languages.
Ok. I will maybe try to write an implementation by myself with C.
"Arc, if I may, should be a language which is damn hard consistent at least on the basic concepts and which use kind of self generated strategy to reduce LOCs, not hard coded pseudo-concept like most languages."
You might be surprised to hear this, but many of us here like Arc for exactly this reason. It inherits its simplicity and conistency from Scheme.
However, Arc's main improvement upon Scheme is the fact that it uses some quirky abbreviations. These abbreviations do take the form of "hard coded pseudo-concepts."
I might have been wrong to inform you about these abbreviations when you were just starting to learn Arc. If you can, forget about (= ...) and (a:b ...) and stuff, and then see if you like the language any better. ;)