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/branches/primop-branch-3/compiler/Elaborator/modules/instantiate.sml
ViewVC logotype

Diff of /sml/branches/primop-branch-3/compiler/Elaborator/modules/instantiate.sml

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

revision 3347, Fri May 15 15:53:19 2009 UTC revision 3348, Fri May 15 16:48:04 2009 UTC
# Line 42  Line 42 
42            region   : SourceMap.region,            region   : SourceMap.region,
43            compInfo : ElabUtil.compInfo}            compInfo : ElabUtil.compInfo}
44           -> {rlzn: Modules.strEntity,           -> {rlzn: Modules.strEntity,
45               primaries : (Types.tycon list * (Stamps.stamp * Modules.fctsig) list)}               primaries : (Types.tycon list * (Stamps.stamp * Modules.fctSig) list)}
46    
47    (*** instantiation of the structure abstractions ***)    (*** instantiation of the structure abstractions ***)
48    val instAbstr :    val instAbstr :
# Line 1298  Line 1298 
1298    
1299  fun instToStr (instance, entEnv, instKind, rpath: IP.path, err,  fun instToStr (instance, entEnv, instKind, rpath: IP.path, err,
1300                 compInfo as {mkStamp, ...}: EU.compInfo)                 compInfo as {mkStamp, ...}: EU.compInfo)
1301                : (M.strEntity * (ST.stamp * M.fctsig) list) =                : (M.strEntity * (ST.stamp * M.fctSig) list) =
1302  let val primFcts : (Stamps.stamp, M.fctsig) list = ref []  let val primFcts : (Stamps.stamp * M.fctSig) list ref = ref []
1303      fun instToStr' (instance as (FinalStr{sign as SIG {closed, elements,... },      fun instToStr' (instance as (FinalStr{sign as SIG {closed, elements,... },
1304                                            slotEnv,finalEnt,stamp,...}),                                            slotEnv,finalEnt,stamp,...}),
1305                      entEnv, rpath: IP.path, failuresSoFar: int)                      entEnv, rpath: IP.path, failuresSoFar: int)
# Line 1485  Line 1485 
1485                                    val exp = LAMBDA{param=paramvar,                                    val exp = LAMBDA{param=paramvar,
1486                                                     body=bodyExp,                                                     body=bodyExp,
1487                                                     primaries=(primaryTycs,primaryFcts)}                                                     primaries=(primaryTycs,primaryFcts)}
1488                                in primFcts := (stamp,sign)::!primFcts;                                in primFcts := (stamp,sign)::(!primFcts);
1489                                   FCTent {stamp = stamp,                                   FCTent {stamp = stamp,
1490                                           exp = exp,                                           exp = exp,
1491                                           env = entEnv,                                           closureEnv = entEnv,
1492                                           rpath = path,                                           rpath = path,
1493                                           stub = NONE,                                           stub = NONE,
1494                                           properties = PropList.newHolder ()}                                           properties = PropList.newHolder ()}
# Line 1593  Line 1593 
1593                           EM.nullErrorBody;                           EM.nullErrorBody;
1594                        strEnt')                        strEnt')
1595               end)               end)
1596   in (loop(instToStr'(instance,entEnv,rpath,0));   in (loop(instToStr'(instance,entEnv,rpath,0)),
1597      !primFcts)      !primFcts)
1598  end (* fun instToStr *)  end (* fun instToStr *)
1599    

Legend:
Removed from v.3347  
changed lines
  Added in v.3348

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