If you need to declare a self calling function in CoffeeScript, it's super easy, just do it:
message = "but stay safe" do -> message = "take chances" alert message alert message # Outputs "takes chances" then "but stay safe"
This gets super useful when you need to freeze a variable, like when in a for loop and using setTimeout, just pass in the variable:
for person in group do (person) -> setTimeout -> # A bunch of work using person , 0
Without the call
do (person) -> the function called by setTimeout would only use the last person in the group.