view tests/dynlines.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 38297294cf98
children
line wrap: on
line source
datatype lines = End | Line of source lines

type t = { Head : source lines, Tail : source (source lines) }

val create =
    head <- source End;
    tail <- source head;
    return {Head = head, Tail = tail}

fun renderL lines =
    case lines of
        End => <xml/>
      | Line linesS => <xml>X<br/><dyn signal={renderS linesS}/></xml>

and renderS linesS =
    lines <- signal linesS;
    return (renderL lines)

fun render t = renderS t.Head

fun write t =
    oldTail <- get t.Tail;
    newTail <- source End;
    set oldTail (Line newTail);
    set t.Tail newTail

fun main () : transaction page =
    b <- create;

    return <xml><body>
      <button onclick={fn _ => write b}/>
      <dyn signal={render b}/>
    </body></xml>