Mercurial > urweb
changeset 2050:04d7d563a36f
MonoReduce bug involving 'error'
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Wed, 06 Aug 2014 09:50:02 -0400 |
parents | 459ccbf8cd08 |
children | fbfce6f37384 |
files | src/mono_reduce.sml tests/pb.ur tests/pb.urs |
diffstat | 3 files changed, 9 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/mono_reduce.sml Fri Aug 01 16:11:36 2014 -0400 +++ b/src/mono_reduce.sml Wed Aug 06 09:50:02 2014 -0400 @@ -685,7 +685,7 @@ map (fn (p, (EAbs (_, _, _, e), _)) => (p, swapExpVarsPat (0, patBinds p) e) | (p, (EError (e, (TFun (_, t), _)), loc)) => - (p, (EError (e, t), loc)) + (p, (EError (liftExpInExp (patBinds p) e, t), loc)) | (p, e) => (p, (EApp (liftExpInExp (patBinds p) e, (ERel (patBinds p), loc)), loc)))
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/pb.ur Wed Aug 06 09:50:02 2014 -0400 @@ -0,0 +1,7 @@ +fun api_1 (pb:postBody) (nm:string) : transaction page = + return <xml>Processing the request</xml> + +fun api (pb:postBody) (v:int) (nm:string) : transaction page = + case v of + 1 => api_1 pb nm + | _ => error <xml>Version {[v]} is not supported</xml>