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/DEVNOTES/Primops/primop2-note-1
ViewVC logotype

Diff of /sml/trunk/compiler/DEVNOTES/Primops/primop2-note-1

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

revision 5025, Thu May 2 11:41:02 2019 UTC revision 5026, Thu May 2 11:44:23 2019 UTC
# Line 89  Line 89 
89  of primop numbers, one for each final (variable) type. FLINT would be  of primop numbers, one for each final (variable) type. FLINT would be
90  responsible for recognizing that several primop numbers represent the same  responsible for recognizing that several primop numbers represent the same
91  generic underlying primop.  Then the primop numbers could be mapped to their  generic underlying primop.  Then the primop numbers could be mapped to their
92  exact (variable) type in the InLine module. One problem here is that some  exact (variable) type in the Inline module. One problem here is that some
93  type constructors appearing in variable types are not defined (yet) in  type constructors appearing in variable types are not defined (yet) in
94  the PrimTypes module -- presumably we could fix this by adding them as  the PrimTypes module -- presumably we could fix this by adding them as
95  additional primite types. Examples are probably array and vector tycons.  additional primite types. Examples are probably array and vector tycons.
# Line 363  Line 363 
363    
364    PrimEnv: PRIM_ENV (Semant/statenv/prim.sml)    PrimEnv: PRIM_ENV (Semant/statenv/prim.sml)
365        define static env primEnv, containing module bindings for        define static env primEnv, containing module bindings for
366        primitive types (PrimTypes), primops (InLine), and unrolled        primitive types (PrimTypes), primops (Inline), and unrolled
367        lists (UnrolledList)        lists (UnrolledList)
368        defs: PRIM_ENV, PrimEnv: PRIM_ENV        defs: PRIM_ENV, PrimEnv: PRIM_ENV
369    
# Line 376  Line 376 
376        PrimOp imports CTypes, which are defined in MLRISC! (MLRISC/c-calls/ctype.sml)        PrimOp imports CTypes, which are defined in MLRISC! (MLRISC/c-calls/ctype.sml)
377    
378    PrimEnv (Semant/statenv/prim.sml)    PrimEnv (Semant/statenv/prim.sml)
379        builds InLine structure, containing bindings to primops        builds Inline structure, containing bindings to primops
380        this is where all primops are actually created and initially bound        this is where all primops are actually created and initially bound
381        to identifiers. They will be rebound later in InLineT (below), and        to identifiers. They will be rebound later in InLineT (below), and
382        then again in the Basis module definitions. What role does the        then again in the Basis module definitions. What role does the

Legend:
Removed from v.5025  
changed lines
  Added in v.5026

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