comparison src/mono_shake.sml @ 687:a3ddf05fb3e3

On start-up, delete/nullify rows mentioning clients or channels
author Adam Chlipala <adamc@hcoop.net>
date Thu, 02 Apr 2009 11:42:26 -0400
parents 9a2c18dab11d
children f152f215a02c
comparison
equal deleted inserted replaced
686:3b46548f701b 687:a3ddf05fb3e3
43 43
44 fun shake file = 44 fun shake file =
45 let 45 let
46 val page_es = List.foldl 46 val page_es = List.foldl
47 (fn ((DExport (_, _, n, _, _), _), page_es) => n :: page_es 47 (fn ((DExport (_, _, n, _, _), _), page_es) => n :: page_es
48 | ((DDatabase (_, n), _), page_es) => n :: page_es 48 | ((DDatabase {expunge = n1, initialize = n2, ...}, _), page_es) => n1 :: n2 :: page_es
49 | (_, page_es) => page_es) [] file 49 | (_, page_es) => page_es) [] file
50 50
51 val (cdef, edef) = foldl (fn ((DDatatype (_, n, xncs), _), (cdef, edef)) => 51 val (cdef, edef) = foldl (fn ((DDatatype (_, n, xncs), _), (cdef, edef)) =>
52 (IM.insert (cdef, n, xncs), edef) 52 (IM.insert (cdef, n, xncs), edef)
53 | ((DVal (_, n, t, e, _), _), (cdef, edef)) => 53 | ((DVal (_, n, t, e, _), _), (cdef, edef)) =>