fun power(x ,0) = 1.0 | power (x, y) = x * power(x, y-1); fun mylen [] = 0 | mylen (x :: xs) = 1 + mylen xs fun reverse nil = nil | reverse (first :: rest) = reverse rest @ [first]; fun polyhelper ([], v) = 0.0 | polyhelper (coeff :: x, v) = coeff * power(v, mylen(x) ) + polyhelper(x,v); fun poly (L, v) = polyhelper(reverse(L), v);