Mercurial > urweb
diff src/expl_util.sml @ 213:0343557355fc
Explifying type classes
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sat, 16 Aug 2008 14:45:23 -0400 |
parents | ab86aa858e6c |
children | 3aa010e97db9 |
line wrap: on
line diff
--- a/src/expl_util.sml Sat Aug 16 14:36:17 2008 -0400 +++ b/src/expl_util.sml Sat Aug 16 14:45:23 2008 -0400 @@ -57,6 +57,11 @@ (KRecord k', loc)) | KUnit => S.return2 kAll + + | KTuple ks => + S.map2 (ListUtil.mapfold mfk ks, + fn ks' => + (KTuple ks', loc)) in mfk end @@ -148,6 +153,16 @@ (CFold (k1', k2'), loc))) | CUnit => S.return2 cAll + + | CTuple cs => + S.map2 (ListUtil.mapfold (mfc ctx) cs, + fn cs' => + (CTuple cs', loc)) + + | CProj (c, n) => + S.map2 (mfc ctx c, + fn c' => + (CProj (c', n), loc)) in mfc end