comparison src/urweb.grm @ 719:5c099b1308ae

hello compiles with CSS
author Adam Chlipala <adamc@hcoop.net>
date Sun, 12 Apr 2009 11:08:00 -0400
parents f152f215a02c
children acb8537f58f0
comparison
equal deleted inserted replaced
718:f152f215a02c 719:5c099b1308ae
1206 | ident EQ eexp ([(ident, eexp)]) 1206 | ident EQ eexp ([(ident, eexp)])
1207 | ident EQ eexp COMMA rexp ((ident, eexp) :: rexp) 1207 | ident EQ eexp COMMA rexp ((ident, eexp) :: rexp)
1208 1208
1209 xml : xmlOne xml (let 1209 xml : xmlOne xml (let
1210 val pos = s (xmlOneleft, xmlright) 1210 val pos = s (xmlOneleft, xmlright)
1211 in 1211 val e = (EVar (["Basis"], "join", Infer), pos)
1212 (EApp ((EApp ( 1212 val e = (EApp (e, xmlOne), pos)
1213 (EVar (["Basis"], "join", Infer), pos), 1213 val e = (EApp (e, xml), pos)
1214 xmlOne), pos), 1214 val e = (EApp (e, (EVar (["Basis"], "css_subset", Infer), pos)), pos)
1215 xml), pos) 1215 in
1216 (EApp (e, (EVar (["Basis"], "css_subset", Infer), pos)), pos)
1216 end) 1217 end)
1217 | xmlOne (xmlOne) 1218 | xmlOne (xmlOne)
1218 1219
1219 xmlOne : NOTAGS (EApp ((EVar (["Basis"], "cdata", Infer), s (NOTAGSleft, NOTAGSright)), 1220 xmlOne : NOTAGS (EApp ((EVar (["Basis"], "cdata", Infer), s (NOTAGSleft, NOTAGSright)),
1220 (EPrim (Prim.String NOTAGS), s (NOTAGSleft, NOTAGSright))), 1221 (EPrim (Prim.String NOTAGS), s (NOTAGSleft, NOTAGSright))),
1225 val cdata = 1226 val cdata =
1226 if #1 tag = "submit" orelse #1 tag = "dyn" then 1227 if #1 tag = "submit" orelse #1 tag = "dyn" then
1227 let 1228 let
1228 val e = (EVar (["Basis"], "cdata", DontInfer), pos) 1229 val e = (EVar (["Basis"], "cdata", DontInfer), pos)
1229 val e = (ECApp (e, (CWild (KWild, pos), pos)), pos) 1230 val e = (ECApp (e, (CWild (KWild, pos), pos)), pos)
1231 val e = (ECApp (e, (CRecord [], pos)), pos)
1230 in 1232 in
1231 (ECApp (e, (CRecord [], pos)), pos) 1233 (ECApp (e, (CRecord [], pos)), pos)
1232 end 1234 end
1233 else 1235 else
1234 (EVar (["Basis"], "cdata", Infer), pos) 1236 (EVar (["Basis"], "cdata", Infer), pos)
1265 (EApp (e, eexp), loc) 1267 (EApp (e, eexp), loc)
1266 end) 1268 end)
1267 1269
1268 tag : tagHead attrs (let 1270 tag : tagHead attrs (let
1269 val pos = s (tagHeadleft, attrsright) 1271 val pos = s (tagHeadleft, attrsright)
1270 in 1272 val e = (EVar (["Basis"], "tag", Infer), pos)
1271 (#1 tagHead, 1273 val e = (EApp (e, (ERecord attrs, pos)), pos)
1272 (EApp ((EApp ((EVar (["Basis"], "tag", Infer), pos), 1274 val e = (EApp (e, (EApp (#2 tagHead, (ERecord [], pos)), pos)), pos)
1273 (ERecord attrs, pos)), pos), 1275 val e = (EApp (e, (EVar (["Basis"], "css_subset", Infer), pos)), pos)
1274 (EApp (#2 tagHead, 1276 val e = (EApp (e, (EVar (["Basis"], "css_subset", Infer), pos)), pos)
1275 (ERecord [], pos)), pos)), 1277 in
1276 pos)) 1278 (#1 tagHead, e)
1277 end) 1279 end)
1278 1280
1279 tagHead: BEGIN_TAG (let 1281 tagHead: BEGIN_TAG (let
1280 val bt = tagIn BEGIN_TAG 1282 val bt = tagIn BEGIN_TAG
1281 val pos = s (BEGIN_TAGleft, BEGIN_TAGright) 1283 val pos = s (BEGIN_TAGleft, BEGIN_TAGright)