(* CSE 230 W02 midterm average and variance *) fun sum(L : real list) = foldr (op +) 0.0 L; val reall = map real; fun grademid L = real(hd(hd(L))); val grm = map grademid; fun avg L = sum L / real(length L); fun var L = let val a = avg L; fun f(R : real) = (R - a)*(R - a) in Real.Math.sqrt(sum(map f L)) end; print "\n end of definitions \n\n"; use "gradefile"; print "\n now the computations: \n\n"; val allgrades = g1 @ g2 @ g3 @ g4; val average = avg(grm(allgrades)); val variance = var(grm(allgrades));