================================================================================ Nested variable expansion ------------------------------ $$greeting = {{Hello $$Args[0]{}}} $$writeLetter = {{Date = $$Args[0]{}, $$greeting{$$Args[1]{}}}} $$writeLetter{Tuesday|Bob} $$writeLetter = {{$$greeting{$$Args[1]{}}, Date = $$Args[0]{}}} $$writeLetter{Wednesday|Charlie} ------------------------------ Date = Tuesday, Hello Bob Hello Charlie, Date = Wednesday ------------------------------ ================================================================================ Stacking functions with slow evaluation ------------------------------ $$bigFunction = {{$$smallerFunction{} This is the outer layer!}} $$smallerFunction = {This is the inner layer!} $$bigFunction{} ------------------------------ This is the inner layer! This is the outer layer! ------------------------------ ================================================================================ Stacking functions without slow evaluation ------------------------------ $$bigFunction = {$$smallerFunction{} This is the outer layer!} $$smallerFunction = {This is the inner layer!} $$bigFunction{} ------------------------------ This is the outer layer!} ------------------------------ Unknown variable smallerFunction Unknown variable bigFunction ================================================================================ Single braces ------------------------------ $$name = {Alex} $$greeting = {Hello $$name{}} $$greeting{} $$name = {Chris} $$greeting{} ------------------------------ Hello Alex Hello Alex ------------------------------ ================================================================================ Double braces ------------------------------ $$name = {Alex} $$greeting = {{Hello $$name{}}} $$greeting{} $$name = {Chris} $$greeting{} ------------------------------ Hello Alex Hello Chris ------------------------------ ================================================================================