Mercurial > urweb
annotate demo/treeFun.urs @ 1840:146ec8e90063
Add some name-mangling rules to allow XML attribute 'name' and attributes with dashes
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Thu, 27 Dec 2012 15:34:11 -0500 |
parents | 311ca1ae715d |
children |
rev | line source |
---|---|
adamc@469 | 1 functor Make(M : sig |
adamc@469 | 2 type key |
adamc@469 | 3 con id :: Name |
adamc@469 | 4 con parent :: Name |
adamc@469 | 5 con cols :: {Type} |
adamc@469 | 6 constraint [id] ~ [parent] |
adamc@469 | 7 constraint [id, parent] ~ cols |
adamc@469 | 8 |
adamc@723 | 9 val key_inj : sql_injectable_prim key |
adamc@469 | 10 |
adamc@706 | 11 table tab : ([id = key, parent = option key] ++ cols) |
adamc@469 | 12 end) : sig |
adamc@469 | 13 |
adamc@469 | 14 con id = M.id |
adamc@469 | 15 con parent = M.parent |
adamc@469 | 16 |
adamc@469 | 17 val tree : ($([id = M.key, parent = option M.key] ++ M.cols) -> xbody) |
adamc@469 | 18 -> option M.key |
adamc@469 | 19 -> transaction xbody |
adamc@469 | 20 |
adamc@469 | 21 end |