Mercurial > urweb
annotate lib/basis.lig @ 111:2d6116de9cca
Closure code generation almost there
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sun, 13 Jul 2008 12:06:47 -0400 |
parents | 3739af9e727a |
children | 7fdc146b2bc2 |
rev | line source |
---|---|
adamc@56 | 1 type int |
adamc@56 | 2 type float |
adamc@56 | 3 type string |
adamc@91 | 4 |
adamc@91 | 5 |
adamc@104 | 6 con tag :: {Type} -> {Unit} -> {Unit} -> Type |
adamc@91 | 7 |
adamc@91 | 8 |
adamc@91 | 9 con xml :: {Unit} -> Type |
adamc@91 | 10 val cdata : ctx ::: {Unit} -> string -> xml ctx |
adamc@104 | 11 val tag : attrsGiven ::: {Type} -> attrsAbsent ::: {Type} -> attrsGiven ~ attrsAbsent |
adamc@104 | 12 -> outer ::: {Unit} -> inner ::: {Unit} |
adamc@104 | 13 -> $attrsGiven |
adamc@104 | 14 -> tag (attrsGiven ++ attrsAbsent) outer inner |
adamc@91 | 15 -> xml inner |
adamc@91 | 16 -> xml outer |
adamc@91 | 17 val join : shared :: {Unit} |
adamc@91 | 18 -> ctx1 ::: {Unit} -> ctx1 ~ shared |
adamc@91 | 19 -> ctx2 ::: {Unit} -> ctx2 ~ shared |
adamc@91 | 20 -> xml (shared ++ ctx1) -> xml (shared ++ ctx2) -> xml shared |
adamc@91 | 21 |
adamc@91 | 22 |
adamc@110 | 23 con xhtml = xml [Html] |
adamc@110 | 24 |
adamc@104 | 25 val head : tag [] [Html] [Head] |
adamc@104 | 26 val title : tag [] [Head] [] |
adamc@93 | 27 |
adamc@104 | 28 val body : tag [] [Html] [Body] |
adamc@104 | 29 val p : tag [] [Body] [Body] |
adamc@104 | 30 val b : tag [] [Body] [Body] |
adamc@104 | 31 val i : tag [] [Body] [Body] |
adamc@104 | 32 val font : tag [Size = int, Face = string] [Body] [Body] |
adamc@110 | 33 |
adamc@110 | 34 val a : tag [Link = xhtml] [Body] [Body] |