comparison src/elaborate.sml @ 1191:61c3139eab12

Subquery expressions
author Adam Chlipala <adamc@hcoop.net>
date Thu, 25 Mar 2010 15:44:24 -0400
parents 0b1d666bddb4
children c316ca3c9ec6
comparison
equal deleted inserted replaced
1190:899875315bde 1191:61c3139eab12
1 (* Copyright (c) 2008, Adam Chlipala 1 (* Copyright (c) 2008-2010, Adam Chlipala
2 * All rights reserved. 2 * All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are met: 5 * modification, are permitted provided that the following conditions are met:
6 * 6 *
3678 val cv = viewOf () 3678 val cv = viewOf ()
3679 val cv = (L'.CApp (cv, fs), loc) 3679 val cv = (L'.CApp (cv, fs), loc)
3680 val (env', n) = E.pushENamed env x cv 3680 val (env', n) = E.pushENamed env x cv
3681 3681
3682 val ct = queryOf () 3682 val ct = queryOf ()
3683 val ct = (L'.CApp (ct, (L'.CRecord ((L'.KRecord (L'.KType, loc), loc), []), loc)), loc)
3683 val ct = (L'.CApp (ct, ts), loc) 3684 val ct = (L'.CApp (ct, ts), loc)
3684 val ct = (L'.CApp (ct, fs), loc) 3685 val ct = (L'.CApp (ct, fs), loc)
3685 in 3686 in
3686 checkCon env e' t ct; 3687 checkCon env e' t ct;
3687 ([(L'.DView (!basis_r, x, n, e', fs), loc)], 3688 ([(L'.DView (!basis_r, x, n, e', fs), loc)],