Mercurial > urweb
comparison src/mono_shake.sml @ 273:09c66a30ef32
Table declarations pushed to Cjr
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Tue, 02 Sep 2008 13:09:54 -0400 |
parents | 42dfb0d61cf0 |
children | e976b187d73a |
comparison
equal
deleted
inserted
replaced
272:4d80d6122df1 | 273:09c66a30ef32 |
---|---|
52 | ((DVal (_, n, t, e, _), _), (cdef, edef)) => | 52 | ((DVal (_, n, t, e, _), _), (cdef, edef)) => |
53 (cdef, IM.insert (edef, n, (t, e))) | 53 (cdef, IM.insert (edef, n, (t, e))) |
54 | ((DValRec vis, _), (cdef, edef)) => | 54 | ((DValRec vis, _), (cdef, edef)) => |
55 (cdef, foldl (fn ((_, n, t, e, _), edef) => IM.insert (edef, n, (t, e))) edef vis) | 55 (cdef, foldl (fn ((_, n, t, e, _), edef) => IM.insert (edef, n, (t, e))) edef vis) |
56 | ((DExport _, _), acc) => acc | 56 | ((DExport _, _), acc) => acc |
57 | ((DTable _, _), acc) => acc | |
57 | ((DDatabase _, _), acc) => acc) | 58 | ((DDatabase _, _), acc) => acc) |
58 (IM.empty, IM.empty) file | 59 (IM.empty, IM.empty) file |
59 | 60 |
60 fun typ (c, s) = | 61 fun typ (c, s) = |
61 case c of | 62 case c of |
106 in | 107 in |
107 List.filter (fn (DDatatype (_, n, _), _) => IS.member (#con s, n) | 108 List.filter (fn (DDatatype (_, n, _), _) => IS.member (#con s, n) |
108 | (DVal (_, n, _, _, _), _) => IS.member (#exp s, n) | 109 | (DVal (_, n, _, _, _), _) => IS.member (#exp s, n) |
109 | (DValRec vis, _) => List.exists (fn (_, n, _, _, _) => IS.member (#exp s, n)) vis | 110 | (DValRec vis, _) => List.exists (fn (_, n, _, _, _) => IS.member (#exp s, n)) vis |
110 | (DExport _, _) => true | 111 | (DExport _, _) => true |
112 | (DTable _, _) => true | |
111 | (DDatabase _, _) => true) file | 113 | (DDatabase _, _) => true) file |
112 end | 114 end |
113 | 115 |
114 end | 116 end |