Mercurial > urweb
changeset 1832:373e2c3f03b2
Rename Basis.exp to Basis.pow, to avoid confusion with 'expression'; add a test case for it
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Wed, 28 Nov 2012 11:45:46 -0500 |
parents | 36428d853c97 |
children | be0c4e2e488a |
files | lib/ur/basis.urs src/monoize.sml tests/pow.ur |
diffstat | 3 files changed, 10 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/lib/ur/basis.urs Wed Nov 28 11:41:54 2012 -0500 +++ b/lib/ur/basis.urs Wed Nov 28 11:45:46 2012 -0500 @@ -42,7 +42,7 @@ val times : t ::: Type -> num t -> t -> t -> t val divide : t ::: Type -> num t -> t -> t -> t val mod : t ::: Type -> num t -> t -> t -> t -val exp : t ::: Type -> num t -> t -> t -> t +val pow : t ::: Type -> num t -> t -> t -> t val num_int : num int val num_float : num float
--- a/src/monoize.sml Wed Nov 28 11:41:54 2012 -0500 +++ b/src/monoize.sml Wed Nov 28 11:45:46 2012 -0500 @@ -192,7 +192,7 @@ ("Times", (L'.TFun (t, (L'.TFun (t, t), loc)), loc)), ("Div", (L'.TFun (t, (L'.TFun (t, t), loc)), loc)), ("Mod", (L'.TFun (t, (L'.TFun (t, t), loc)), loc)), - ("Exp", (L'.TFun (t, (L'.TFun (t, t), loc)), loc))], + ("Pow", (L'.TFun (t, (L'.TFun (t, t), loc)), loc))], loc) end | L.CApp ((L.CFfi ("Basis", "ord"), _), t) => @@ -793,7 +793,7 @@ ("Times", (L'.TFun (t, (L'.TFun (t, t), loc)), loc)), ("Div", (L'.TFun (t, (L'.TFun (t, t), loc)), loc)), ("Mod", (L'.TFun (t, (L'.TFun (t, t), loc)), loc)), - ("Exp", (L'.TFun (t, (L'.TFun (t, t), loc)), loc))], loc) + ("Pow", (L'.TFun (t, (L'.TFun (t, t), loc)), loc))], loc) fun numEx (t, zero, neg, plus, minus, times, dv, md, ex) = ((L'.ERecord [("Zero", (L'.EPrim zero, loc), t), ("Neg", neg, (L'.TFun (t, t), loc)), @@ -802,7 +802,7 @@ ("Times", times, (L'.TFun (t, (L'.TFun (t, t), loc)), loc)), ("Div", dv, (L'.TFun (t, (L'.TFun (t, t), loc)), loc)), ("Mod", md, (L'.TFun (t, (L'.TFun (t, t), loc)), loc)), - ("Exp", ex, (L'.TFun (t, (L'.TFun (t, t), loc)), loc))], loc), fm) + ("Pow", ex, (L'.TFun (t, (L'.TFun (t, t), loc)), loc))], loc), fm) fun ordTy t = (L'.TRecord [("Lt", (L'.TFun (t, (L'.TFun (t, (L'.TFfi ("Basis", "bool"), loc)), loc)), loc)), @@ -1032,12 +1032,12 @@ ((L'.EAbs ("r", numTy t, (L'.TFun (t, (L'.TFun (t, t), loc)), loc), (L'.EField ((L'.ERel 0, loc), "Mod"), loc)), loc), fm) end - | L.ECApp ((L.EFfi ("Basis", "exp"), _), t) => + | L.ECApp ((L.EFfi ("Basis", "pow"), _), t) => let val t = monoType env t in ((L'.EAbs ("r", numTy t, (L'.TFun (t, (L'.TFun (t, t), loc)), loc), - (L'.EField ((L'.ERel 0, loc), "Exp"), loc)), loc), fm) + (L'.EField ((L'.ERel 0, loc), "Pow"), loc)), loc), fm) end | L.EFfi ("Basis", "num_int") => let