view demo/subforms.ur @ 1892:907a82a44f01

Add missing inter-library dependencies This is needed, at least on recent Ubuntu, to fix these linker errors when compiling any Ur/Web application: liburweb.so: undefined reference to `lround' liburweb.so: undefined reference to `ceil' liburweb.so: undefined reference to `RAND_bytes' liburweb.so: undefined reference to `DES_fcrypt' liburweb.so: undefined reference to `SHA256_Init' liburweb.so: undefined reference to `SHA256_Final' liburweb.so: undefined reference to `SHA256_Update' Signed-off-by: Anders Kaseorg <andersk@mit.edu> --- src/c/Makefile.am | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
author Anders Kaseorg <andersk@mit.edu>
date Thu, 21 Nov 2013 14:32:11 -0500
parents be0c4e2e488a
children
line wrap: on
line source
fun sub r =
    let
        fun sub' ls =
            case ls of
                [] => <xml/>
              | r :: ls => <xml>
                <li>{[r.Num]} = {[r.Text]}</li>
                {sub' ls}
              </xml>
    in
        return <xml><body>
          {sub' r.Lines}
        </body></xml>
    end

fun subfrms n =
    if n <= 0 then
        <xml/>
    else
        <xml>
          <entry>
            <hidden{#Num} value={show n}/>
            <li>{[n]}: <textbox{#Text}/></li>
          </entry>
          {subfrms (n - 1)}
        </xml>

fun form n = return <xml><body>
  <form>
    <subforms{#Lines}>
      {subfrms n}
    </subforms>
    <submit action={sub}/>
  </form>

  <a link={form (n + 1)}>One more blank</a><br/>
  {if n > 0 then
       <xml><a link={form (n - 1)}>One fewer blank</a></xml>
   else
       <xml/>}
</body></xml>

fun main () = form 1