From 6a144b5f5a7e85a02465aa25a19c3b5686e062cb Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Sun, 31 Aug 2008 15:15:41 -0400 Subject: 'eq' type class --- src/urweb.grm | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/urweb.grm') diff --git a/src/urweb.grm b/src/urweb.grm index aa062516..9d619fca 100644 --- a/src/urweb.grm +++ b/src/urweb.grm @@ -141,6 +141,15 @@ fun sql_relop (oper, sqlexp1, sqlexp2, loc) = (EApp (e, sqlexp2), loc) end +fun native_op (oper, e1, e2, loc) = + let + val e = (EVar (["Basis"], oper), loc) + val e = (EApp (e, (EWild, loc)), loc) + val e = (EApp (e, e1), loc) + in + (EApp (e, e2), loc) + end + %% %header (functor UrwebLrValsFn(structure Token : TOKEN)) @@ -595,6 +604,7 @@ eexp : eapps (eapps) in (EApp (e, (EAbs (SYMBOL, NONE, eexp2), loc)), loc) end) + | eexp EQ eexp (native_op ("eq", eexp1, eexp2, s (eexp1left, eexp2right))) eargs : earg (earg) | eargl (eargl) -- cgit v1.2.3