User loginNavigation |
archivesUn-filter (or merge) listsWhat is the standard functional construct which is the converse of filter? Eg. if I want to add 0 between all elements of a list? Or if I want to merge two sorted lists preserving sorting? I am thinking of a "unfilter" construct which takes a list of lists, and a list of functions applied in turn (*insert 0 between two elements of the list*) unfilter [a] [fun x::xs -> (x, [xs]); fun as -> (0, [as])] (*merge two sorted lists*) unfilter [a;b] [fun as, bs -> match as, bs with | x::xs, y::ys => if y < x then (y, [as;ys]) else (x, [xs;bs]) | [], y::ys => (y, [[];ys]) | x::xs, [] => (x, [xs;[]])] |
Browse archivesActive forum topics |
Recent comments
22 weeks 1 day ago
22 weeks 2 days ago
22 weeks 2 days ago
44 weeks 3 days ago
48 weeks 5 days ago
50 weeks 2 days ago
50 weeks 2 days ago
1 year 6 days ago
1 year 5 weeks ago
1 year 5 weeks ago