Mercurial > urweb
annotate lib/basis.lig @ 128:b04f7422c832
Monoizing (non-mutual) 'val rec'
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Thu, 17 Jul 2008 10:48:25 -0400 |
parents | 7fdc146b2bc2 |
children | adfa2c7a75da |
rev | line source |
---|---|
adamc@56 | 1 type int |
adamc@56 | 2 type float |
adamc@56 | 3 type string |
adamc@91 | 4 |
adamc@119 | 5 type unit = {} |
adamc@119 | 6 |
adamc@91 | 7 |
adamc@104 | 8 con tag :: {Type} -> {Unit} -> {Unit} -> Type |
adamc@91 | 9 |
adamc@91 | 10 |
adamc@91 | 11 con xml :: {Unit} -> Type |
adamc@91 | 12 val cdata : ctx ::: {Unit} -> string -> xml ctx |
adamc@104 | 13 val tag : attrsGiven ::: {Type} -> attrsAbsent ::: {Type} -> attrsGiven ~ attrsAbsent |
adamc@104 | 14 -> outer ::: {Unit} -> inner ::: {Unit} |
adamc@104 | 15 -> $attrsGiven |
adamc@104 | 16 -> tag (attrsGiven ++ attrsAbsent) outer inner |
adamc@91 | 17 -> xml inner |
adamc@91 | 18 -> xml outer |
adamc@91 | 19 val join : shared :: {Unit} |
adamc@91 | 20 -> ctx1 ::: {Unit} -> ctx1 ~ shared |
adamc@91 | 21 -> ctx2 ::: {Unit} -> ctx2 ~ shared |
adamc@91 | 22 -> xml (shared ++ ctx1) -> xml (shared ++ ctx2) -> xml shared |
adamc@91 | 23 |
adamc@91 | 24 |
adamc@110 | 25 con xhtml = xml [Html] |
adamc@110 | 26 |
adamc@104 | 27 val head : tag [] [Html] [Head] |
adamc@104 | 28 val title : tag [] [Head] [] |
adamc@93 | 29 |
adamc@104 | 30 val body : tag [] [Html] [Body] |
adamc@104 | 31 val p : tag [] [Body] [Body] |
adamc@104 | 32 val b : tag [] [Body] [Body] |
adamc@104 | 33 val i : tag [] [Body] [Body] |
adamc@104 | 34 val font : tag [Size = int, Face = string] [Body] [Body] |
adamc@110 | 35 |
adamc@119 | 36 val h1 : tag [] [Body] [Body] |
adamc@119 | 37 val li : tag [] [Body] [Body] |
adamc@119 | 38 |
adamc@110 | 39 val a : tag [Link = xhtml] [Body] [Body] |