(* a collection of ML functions * demonstrating some of the concepts in Chapter 7 *) fun reverse nil = nil | reverse (first :: rest) = reverse rest @ [first]; fun sumList nil = 0 | sumList ( first :: rest ) = first + sumList rest; fun hw _ = print "Hello World!\n"; fun prlst(nil) = () | prlst(x::xs) = ( print(Int.toString(x)^ ","); prlst(xs) ); val myList = [12,3,5,6,9,~4]; val aList = reverse myList ; print( " here is the original list \n"); prlst myList; print("\n"); print(" here is the list reversed \n"); prlst aList; print("\n"); print( " The sum of the values in the list = "); print ( Int.toString (sumList myList)); print("\n"); hw myList;