Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/trunk/compiler/Elaborator/elaborate/elabutil.sml
ViewVC logotype

Diff of /sml/trunk/compiler/Elaborator/elaborate/elabutil.sml

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

revision 4415, Mon Sep 18 20:38:19 2017 UTC revision 4416, Mon Sep 18 20:39:57 2017 UTC
# Line 164  Line 164 
164      end      end
165    
166  val TUPLEexp = AbsynUtil.TUPLEexp  val TUPLEexp = AbsynUtil.TUPLEexp
167  (*  
168  fun TUPLEexp l =  fun TUPLEexp l =
169      let fun addlabels(i,e::r) =      let fun addlabels(i,e::r) =
170                (LABEL{number=i-1,name=(Tuples.numlabel i)},e)                (LABEL{number=i-1,name=(Tuples.numlabel i)},e)
# Line 172  Line 172 
172            | addlabels(_, nil) = nil            | addlabels(_, nil) = nil
173       in RECORDexp (addlabels(1,l))       in RECORDexp (addlabels(1,l))
174      end      end
 *)  
175    
176  fun TPSELexp(e, i) =  fun TPSELexp(e, i) =
177      let val lab = LABEL{number=i-1, name=(Tuples.numlabel i)}      let val lab = LABEL{number=i-1, name=(Tuples.numlabel i)}
# Line 185  Line 184 
184       as location.       as location.
185     KLUDGE! The debugger distinguishes marks in the default case by     KLUDGE! The debugger distinguishes marks in the default case by
186       the fact that start and end locations for these marks       the fact that start and end locations for these marks
187       are the same! *)       are the same! DBM: Is that you, Andrew Tolmach?  Is this
188         kludge still relevant?  Probably not! *)
189  fun completeMatch'' rule [r as RULE(pat,MARKexp(_,(_,right)))] =  fun completeMatch'' rule [r as RULE(pat,MARKexp(_,(_,right)))] =
190        [r, rule (fn exp => MARKexp(exp,(right,right)))]        [r, rule (fn exp => MARKexp(exp,(right,right)))]
191    | completeMatch'' rule    | completeMatch'' rule
# Line 210  Line 210 
210  val trivialCompleteMatch = completeMatch(SE.empty,"Match")  val trivialCompleteMatch = completeMatch(SE.empty,"Match")
211    
212  val TUPLEpat = AbsynUtil.TUPLEpat  val TUPLEpat = AbsynUtil.TUPLEpat
 (*  
 fun TUPLEpat l =  
     let fun addlabels(i,e::r) = (Tuples.numlabel i, e) :: addlabels(i+1, r)  
           | addlabels(_, nil) = nil  
      in RECORDpat{fields=addlabels(1,l), flex=false, typ=ref UNDEFty}  
     end  
 *)  
213    
214  fun wrapRECdecGen (rvbs, compInfo as {mkLvar=mkv, ...} : compInfo) =  fun wrapRECdecGen (rvbs, compInfo as {mkLvar=mkv, ...} : compInfo) =
215    let fun g (RVB{var=v as VALvar{path=SP.SPATH [sym], ...}, ...}, nvars) =    let fun g (RVB{var=v as VALvar{path=SP.SPATH [sym], ...}, ...}, nvars) =

Legend:
Removed from v.4415  
changed lines
  Added in v.4416

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