Mercurial > urweb
view demo/treeFun.ur @ 1906:0d2fdc2cc46c
Allow building in a separate build directory
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
---
Makefile.am | 30 +++---
src/c/Makefile.am | 2 +-
src/compiler.mlb | 2 +-
src/sources | 302 +++++++++++++++++++++++++++---------------------------
4 files changed, 168 insertions(+), 168 deletions(-)
author | Anders Kaseorg <andersk@mit.edu> |
---|---|
date | Fri, 22 Nov 2013 09:36:14 -0500 |
parents | 311ca1ae715d |
children |
line wrap: on
line source
functor Make(M : sig type key con id :: Name con parent :: Name con cols :: {Type} constraint [id] ~ [parent] constraint [id, parent] ~ cols val key_inj : sql_injectable_prim key table tab : ([id = key, parent = option key] ++ cols) end) = struct open M fun tree (f : $([id = key, parent = option key] ++ cols) -> xbody) (root : option M.key) = let fun recurse (root : option key) = queryX' (SELECT * FROM tab WHERE {eqNullable' (SQL tab.{parent}) root}) (fn r => children <- recurse (Some r.Tab.id); return <xml> <li> {f r.Tab}</li> <ul> {children} </ul> </xml>) in recurse root end end