Mercurial > urweb
comparison src/urweb.grm @ 299:5f6a60b7ab00
Elaborated 'insert'
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sun, 07 Sep 2008 13:47:10 -0400 |
parents | bacd0ba869e1 |
children | cde1ec47f3af |
comparison
equal
deleted
inserted
replaced
298:43f35291433d | 299:5f6a60b7ab00 |
---|---|
604 val loc = s (SYMBOLleft, eexp2right) | 604 val loc = s (SYMBOLleft, eexp2right) |
605 val e = (EVar (["Basis"], "bind"), loc) | 605 val e = (EVar (["Basis"], "bind"), loc) |
606 val e = (EApp (e, eexp1), loc) | 606 val e = (EApp (e, eexp1), loc) |
607 in | 607 in |
608 (EApp (e, (EAbs (SYMBOL, NONE, eexp2), loc)), loc) | 608 (EApp (e, (EAbs (SYMBOL, NONE, eexp2), loc)), loc) |
609 end) | |
610 | UNIT LARROW eexp SEMI eexp (let | |
611 val loc = s (UNITleft, eexp2right) | |
612 val e = (EVar (["Basis"], "bind"), loc) | |
613 val e = (EApp (e, eexp1), loc) | |
614 val t = (TRecord (CRecord [], loc), loc) | |
615 in | |
616 (EApp (e, (EAbs ("_", SOME t, eexp2), loc)), loc) | |
609 end) | 617 end) |
610 | eexp EQ eexp (native_op ("eq", eexp1, eexp2, s (eexp1left, eexp2right))) | 618 | eexp EQ eexp (native_op ("eq", eexp1, eexp2, s (eexp1left, eexp2right))) |
611 | eexp NE eexp (native_op ("ne", eexp1, eexp2, s (eexp1left, eexp2right))) | 619 | eexp NE eexp (native_op ("ne", eexp1, eexp2, s (eexp1left, eexp2right))) |
612 | 620 |
613 eargs : earg (earg) | 621 eargs : earg (earg) |