Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Diff of /branches/chiw17/src/compiler/high-to-mid/clean-index.sml
ViewVC logotype

Diff of /branches/chiw17/src/compiler/high-to-mid/clean-index.sml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 5029, Tue Jul 11 22:38:23 2017 UTC revision 5030, Tue Jul 11 22:53:10 2017 UTC
# Line 105  Line 105 
105                    | E.Op2(_, e1, e2) => shape (e1, shape(e2, ixs))                    | E.Op2(_, e1, e2) => shape (e1, shape(e2, ixs))
106                    | E.Opn(_, es) => List.foldl shape ixs es                    | E.Opn(_, es) => List.foldl shape ixs es
107                    | E.Comp(e1, _) => shape(e1, ixs)                    | E.Comp(e1, _) => shape(e1, ixs)
108                    | E.PolyWrap (_,_,alpha) => addMus(ixs, alpha)                    | E.OField(_,_,_,alpha) => addMus(ixs, alpha)
109                    | E.Poly (_,_,_, alpha) => addMus(ixs, alpha)                    | E.Poly (_,_,_, alpha) => addMus(ixs, alpha)
110                    | _ => raise Fail "impossible"                    | _ => raise Fail "impossible"
111                  (* end case *))                  (* end case *))
# Line 154  Line 154 
154                    | E.Opn(E.Add, e::_) => shape(e, ixs)                    | E.Opn(E.Add, e::_) => shape(e, ixs)
155                    | E.Opn(E.Prod, es) => shape' (es, ixs)                    | E.Opn(E.Prod, es) => shape' (es, ixs)
156                    | E.Comp(e1, _) => shape(e1, ixs)                    | E.Comp(e1, _) => shape(e1, ixs)
157                    | E.PolyWrap(_,_,alpha) => alpha@ ixs                    | E.OField(_,_,_,alpha) => alpha@ ixs
158                    | E.Poly(_,_,_,alpha) => alpha@ ixs                    | E.Poly(_,_,_,alpha) => alpha@ ixs
159                    | _ => raise Fail ("impossible"^EinPP.expToString(b))                    | _ => raise Fail ("impossible"^EinPP.expToString(b))
160              (* end case *))              (* end case *))
# Line 281  Line 281 
281                    | E.Op2(op2, e1, e2) => E.Op2(op2, rewrite e1, rewrite e2)                    | E.Op2(op2, e1, e2) => E.Op2(op2, rewrite e1, rewrite e2)
282                    | E.Opn(opn, es) => E.Opn(opn, List.map rewrite es)                    | E.Opn(opn, es) => E.Opn(opn, List.map rewrite es)
283                    | E.Comp(e1, es) => E.Comp(rewrite e1, es)                    | E.Comp(e1, es) => E.Comp(rewrite e1, es)
284                    | E.PolyWrap (e1, e2, dx) =>  E.PolyWrap (rewrite e1, rewrite e2, getAlpha  dx)                    | E.OField (opn, e1, e2, dx) =>  E.OField (opn, rewrite e1, rewrite e2, getAlpha  dx)
285                    | E.Poly(id,alpha,n,dx) => E.Poly(id,getAlpha alpha, n, getAlpha dx)                    | E.Poly(id,alpha,n,dx) => E.Poly(id,getAlpha alpha, n, getAlpha dx)
286              (* end case *))              (* end case *))
287            in            in

Legend:
Removed from v.5029  
changed lines
  Added in v.5030

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0