(*Hi all. Please enjoy these accompanying code snippets along with the lecture videos*) (*example of an int type*) 0; (*example of a real type*) 0.0; (*example of strict typing, this produces an error*) 0+0.0; (*example of a function, converts int to real*) real; (*converts int 0 to real and adds it to real 0*) (real 0)+0.0 (*example of the op function which gives the type of an operatorm, in this case the add operator*) op +; (*deconstruction of the mulit*) (*example of the alpha and beta input types using the projection function*) fn (x,y) => x; (*example of how to specify input types using the same function*) fn ((x:int),(y:int)) => x; (*multiplies x by 2*) fn x => 2*x; (*multiplies 5 by 6*) (op *) (5,6) (*multi, this is a cleaner version of the previous example (or to put it another way, a sugar version*) 5*6; (*stores the the x*y function as the value 'mymult'*) val mymult = fn (x,y) => x*y; (*deconstruction of the division operator*) op div;