Script started on Mon Nov 11 17:05:40 1991 warning: could not update utmp entry fleming-01% sml Standard ML of New Jersey, Version 0.66, 15 September 1990 val it = () : unit - use "vectors"; [opening vectors] datatype 'a tree con Lf : 'a tree con Node : 'a tree * 'a * 'a tree -> 'a tree val leaf = fn : 'a -> 'a tree val leafp = fn : 'a tree -> bool exception Out_of_Bounds val get = fn : 'a tree -> int -> 'a val put = fn : 'a tree -> int -> 'a -> 'a tree val add_element_to = fn : 'a tree -> int -> 'a -> 'a tree val make_vector = fn : int -> 'a -> 'a tree val preorder = fn : 'a tree -> 'a list val inorder = fn : 'a tree -> 'a list val postorder = fn : 'a tree -> 'a list val get2 = fn : 'a tree tree -> int -> int -> 'a val put2 = fn : 'a tree tree -> int -> int -> 'a -> 'a tree tree val get3 = fn : 'a tree tree tree -> int -> int -> int -> 'a val put3 = fn : 'a tree tree tree -> int -> int -> int -> 'a -> 'a tree tree tree [closing vectors] val it = () : unit - val a1 = make_vector 5 0; val a1 = Node (Node (Node #,0,Lf),0,Node (Node #,0,Lf)) : int tree - val a1 = put a1 1 1; val a1 = Node (Node (Node #,0,Lf),1,Node (Node #,0,Lf)) : int tree - val a1 = put a1 2 2; val a1 = Node (Node (Node #,2,Lf),1,Node (Node #,0,Lf)) : int tree - val a1 = put a1 3 3; val a1 = Node (Node (Node #,2,Lf),1,Node (Node #,3,Lf)) : int tree - val a1 = put a1 4 4; val a1 = Node (Node (Node #,2,Lf),1,Node (Node #,3,Lf)) : int tree - val a1 = put a1 5 5; val a1 = Node (Node (Node #,2,Lf),1,Node (Node #,3,Lf)) : int tree - preorder a1; val it = [1,2,4,3,5] : int list - inorder a1; val it = [4,2,1,5,3] : int list - postorder a1; val it = [4,2,5,3,1] : int list - val a2 = make_vector 10 a1; val a2 = Node (Node (Node #,Node #,Node #),Node (Node #,1,Node #), Node (Node #,Node #,Node #)) : int tree tree - get a2 1; val it = Node (Node (Node #,2,Lf),1,Node (Node #,3,Lf)) : int tree - get a2 3; val it = Node (Node (Node #,2,Lf),1,Node (Node #,3,Lf)) : int tree - val a3 = make_vector 10 a2; val a3 = Node (Node (Node #,Node #,Node #),Node (Node #,Node #,Node #), Node (Node #,Node #,Node #)) : int tree tree tree - get a3 1; val it = Node (Node (Node #,Node #,Node #),Node (Node #,1,Node #), Node (Node #,Node #,Node #)) : int tree tree - get a3 20; uncaught exception Out_of_Bounds - get3 a3 1 2 10; uncaught exception Out_of_Bounds - get3 a3 1 2 5; val it = 5 : int - val a3 = put3 a3 1 2 5 999; val a3 = Node (Node (Node #,Node #,Node #),Node (Node #,Node #,Node #), Node (Node #,Node #,Node #)) : int tree tree tree - get a3 1 2 5; val it = 999 : int - get3 a3 1 2 1; val it = 1 : int - inorder a3; val it = [Node (Node (#,#,#),Node (#,#,#),Node (#,#,#)),Node (Node (#,#,#),Node (#,#,#),Node (#,#,#)),Node (Node (#,#,#),Node (#,#,#),Node (#,#,#)),Node (Node (#,#,#), Node (#,#,#),Node (#,#,#)),Node (Node (#,#,#),Node (#,#,#), Node (#,#,#)),Node (Node (#,#,#),Node (#,#,#),Node (#,#,#)), Node (Node (#,#,#),Node (#,#,#),Node (#,#,#)),Node (Node (#,#,#),Node (#,#,#),Node (#,#,#)),Node (Node (#,#,#), Node (#,#,#),Node (#,#,#)),Node (Node (#,#,#),Node (#,#,#), Node (#,#,#))] : int tree tree list fleming-01% script done on Mon Nov 11 17:10:27 1991