adamc@418: functor Make (M : sig adamc@418: con fs :: {Unit} adamc@632: val fl : folder fs adamc@643: val names : $(mapU string fs) adamc@418: end) = struct adamc@418: adamc@418: fun handler values = return adamc@418: {foldURX2 [string] [string] [body] adamc@418: (fn (nm :: Name) (rest :: {Unit}) [[nm] ~ rest] name value => adamc@418:
  • {[name]} = {[value]}
  • adamc@418:
    ) adamc@632: [M.fs] M.fl M.names values} adamc@418:
    adamc@418: adamc@418: fun main () = return adamc@418:
    adamc@643: {foldUR [string] [fn cols :: {Unit} => xml form [] (mapU string cols)] adamc@418: (fn (nm :: Name) (rest :: {Unit}) [[nm] ~ rest] name adamc@643: (acc : xml form [] (mapU string rest)) => adamc@418:
  • {[name]}:
  • adamc@418: {useMore acc} adamc@418:
    ) adamc@418: adamc@632: [M.fs] M.fl M.names} adamc@418: adamc@418: adamc@418:
    adamc@418: adamc@418: end