# HG changeset patch # User Adam Chlipala # Date 1276440920 14400 # Node ID 1e6a4f9d3e4a3e82d23e89a08adf92fa06120a50 # Parent 5b5c0b552f59ac98a02f3ccc763d2b1cecfafec6 More generous wildification, covering map-records diff -r 5b5c0b552f59 -r 1e6a4f9d3e4a lib/ur/basis.urs --- a/lib/ur/basis.urs Sat Jun 05 09:42:37 2010 -0400 +++ b/lib/ur/basis.urs Sun Jun 13 10:55:20 2010 -0400 @@ -588,6 +588,7 @@ con xhtml = xml [Html] con page = xhtml [] [] con xbody = xml [Body] [] [] +con xtable = xml [Body, Table] [] [] con xtr = xml [Body, Tr] [] [] con xform = xml [Body, Form] [] [] diff -r 5b5c0b552f59 -r 1e6a4f9d3e4a src/elaborate.sml --- a/src/elaborate.sml Sat Jun 05 09:42:37 2010 -0400 +++ b/src/elaborate.sml Sun Jun 13 10:55:20 2010 -0400 @@ -3281,15 +3281,29 @@ | L'.SgiConstraint cs => naddConstraint (nd, (env', cs, loc)) | L'.SgiVal (x, _, t) => let - val t = normClassConstraint env' t + fun should t = + let + val t = normClassConstraint env' t + in + case #1 t of + L'.CApp (f, _) => isClassOrFolder env' f + | L'.TRecord t => + (case hnormCon env' t of + (L'.CApp (f, _), _) => + (case hnormCon env' f of + (L'.CApp (f, cl), loc) => + (case hnormCon env' f of + (L'.CMap _, _) => isClassOrFolder env' cl + | _ => false) + | _ => false) + | _ => false) + | _ => false + end in - case #1 t of - L'.CApp (f, _) => - if isClassOrFolder env' f then - naddVal (nd, x) - else - nd - | _ => nd + if should t then + naddVal (nd, x) + else + nd end | L'.SgiStr (x, _, s) => (case #1 (hnormSgn env' s) of