Not anything that complicated -- your answer is in the R language
definition under 'Subset assignment' and the part in "Function calls" that
describes assignment functions.

Whenever a call is found on the left side of a `<-`, it is munged by
sticking a "<-" on the function name and pulling out the first argument. So

my_list$x <- x

which is syntactically equivalent to

`$`(my_list, x) <- x

is effectively transformed into something like:

my_list <- `$<-`(my_list, x, x)

The function `$<-` gets its argument from wherever it is found, and returns
a modified version.

Peter

	[[alternative HTML version deleted]]

