(* Skriv en funktion fillInForm som tar en sträng och en stränglista som argument. Strängen skall betraktas som ett "formulär" där text som kan fyllas i representeras av ett dollartecken ($). Funktionen skall returnera formuläret, men med varje successiv förekomst av ett dollartecken utbytt mot successiva element i listan! Om det finns färre dollartecken än element i listan så kan du bara ignorera de extra elementen. *)
fun fillInForm'(strang,[],n,z) = strang
| fillInForm'(strang,lista,n,z) =
if z>n then strang else
if String.sub(strang,z) = #"$"
then String.substring(strang,0,z) ^ hd(lista) ^ fillInForm'(String.substring(strang,z + 1,n - z),tl(lista),n+size(hd(lista))-1,z+1)
else fillInForm'(strang,lista,n,z+1);
fun fillInForm(strang,lista) = fillInForm'(strang,lista,size(strang)-1,0);