Sorted Dictionary Assignment
Revision as of 15:52, 26 June 2019 by Dennis.cosgrove (talk | contribs)
signature DICTIONARY = sig type (''k,'v) dictionary val get : ((''k,'v) dictionary *''k) -> 'v option val put : ((''k,'v) dictionary *''k *'v) -> 'v option val remove : ((''k,'v) dictionary *''k) -> 'v option val entries : (''k,'v) dictionary -> (''k*'v) list val keys : (''k,'v) dictionary -> ''k list val values : (''k,'v) dictionary -> 'v list end
Code To Use
signature BINARY_TREE = sig val map : ('a -> 'b) -> ('a binary_tree) -> 'b binary_tree val filter : ('a -> bool) -> ('a binary_tree) -> 'a binary_tree val find_lnr : ('a -> bool) -> ('a binary_tree) -> 'a option val find_rnl : ('a -> bool) -> ('a binary_tree) -> 'a option val fold_lnr : (('a * 'b) -> 'b) -> ('b) -> ('a binary_tree) -> 'b val fold_rnl : (('a * 'b) -> 'b) -> ('b) -> ('a binary_tree) -> 'b end
Code To Implement
Sorted Implementation
signature SORTED_DICTIONARY = sig include DICTIONARY type ''k compare_function = (''k*''k) -> order val create_sorted : ''k compare_function -> (''k,'v) dictionary end