My first programming language was a macro programming language for Ultima Online
It had a very interesting feature. You could use "." to concatenate variable names (not variable contents). So you could have a variable named a, another named b, and obtain another another named ab concatenating the two.
If memory still serves me well, you could write something like
a = 1
b = 2
a . b = 3
and the last line would be the interpreted the same as
ab = 3
This was useful to simulate arrays in the language, since you could for example concatenate a base variable name with a number and assign a value to it! Something like
for i = 0; i < count; i++
arr . i = 5
Now I realize this could be accomplished with a giant hashtable or basically using in any dynamic language, but back then I wasn't even sure what a programming language was.