$a=a(Left($,~))+($^)*$a*($a>)

its using recursion to call itself, basically function a() is calling function a() until it runs out of letters.

the ~ is a shortcut for -1

0^$ or $^ is a shortcut for len($) ;I have no idea how/why this works, but someone figured it out in one of the last golfs

($a>) = ($a>0)