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/src/system/README
ViewVC logotype

Diff of /sml/trunk/src/system/README

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

revision 677, Mon Jun 26 00:56:56 2000 UTC revision 710, Tue Oct 17 08:21:09 2000 UTC
# Line 318  Line 318 
318     $<anchor>/<path>     $<anchor>/<path>
319    
320  It is important that there is at least one arc in <path>.  In other  It is important that there is at least one arc in <path>.  In other
321  words, the form $<anchor> is NOT valid.  (Actually, it currently is  words, the form $<anchor> is NOT valid.
322  valid, but CM interprets it in a different way.)  
323    (Actually, under certain circumstances it _is_ valid -- and means what
324    it seems to mean, namely the directory denoted by the name that
325    <anchor> is mapped to.  However, since directory names do not usually
326    occur by themselves, you can think of this form as being invalid.
327    There is one exception to this: "bind" specifications for .cm files.
328    See the CM manual for more details.)
329    
330  Examples:  Examples:
331    
# Line 356  Line 362 
362  + Why anchored paths?  + Why anchored paths?
363    
364  The important point is that one can change the mapping of the anchor,  The important point is that one can change the mapping of the anchor,
365  and the tranlation of the (anchored) path name will also change  and the tranlation of the (anchored) path name -- together will all
366  accordingly -- even very late in the game.  CM avoids "elaborating"  file names derived from it -- will also change accordingly -- even
367  path names until it really needs them when it is time to open files.  very late in the game.  CM avoids "elaborating" path names until it
368  CM is also willing to re-elaborate the same names if there is reason  really needs them when it is time to open files.  CM is also willing
369  to do so. Thus, the "basis.cm" library that was analyzed "here" but  to re-elaborate the same names if there is reason to do so. Thus, the
370  then moved "there" will also be found "there" if the anchor has been  "basis.cm" library that was analyzed "here" but then moved "there"
371  re-set accordingly.  will also be found "there" if the anchor has been re-set accordingly.
372    
373  The anchor mapping is (re-)initialized at startup time by reading two  The anchor mapping is (re-)initialized at startup time by reading two
374  configuration files.  Normally, those are the "../../lib/pathconfig"  configuration files.  Normally, those are the "../../lib/pathconfig"
# Line 545  Line 551 
551  properly configured.  properly configured.
552    
553  Several libraries get pre-registered at bootstap time.  Here, at least  Several libraries get pre-registered at bootstap time.  Here, at least
554  the following two should be included: the basis library ("$/basis.cm")  the following two should be included: the basis library ($/basis.cm)
555  and CM itself ("$smlnj/cm.cm").  Currently, we also pre-register the  and CM itself ($smlnj/cm.cm).  Currently, we also pre-register the
556  library exporting structure Compiler ($smlnj/compiler.cm) and the  library exporting structure Compiler ($smlnj/compiler.cm) and the
557  SML/NJ library ($/smlnj-lib.cm).  SML/NJ library ($/smlnj-lib.cm).
558    
# Line 567  Line 573 
573  uses config/preloads where $smlnj/cmb.cm is not pre-registered.  This  uses config/preloads where $smlnj/cmb.cm is not pre-registered.  This
574  is appropriate as a setup for general users.)  is appropriate as a setup for general users.)
575    
 [****** Note:  The following is NO LONGER TRUE:  
 The fact that $smlnj/compiler.cm is not among the pre-registered  
 libraries seems like an oversight and could lead to some  
 inconveniences to users who want to, for example, set compiler flags.  
 However, pre-registration of this library significantly increases the  
 size of the heap image.  Moreover, since the library can easily be  
 loaded by giving the string as a command line argument, this does not  
 really appear to be a big burden to me.  Just create a shell alias or  
 a little wrapper script if you think you really need this.]  
   
576  * Internal sharing  * Internal sharing
577  ------------------  ------------------
578    
# Line 645  Line 641 
641          |#endif                    |          |#endif                    |
642          +--------------------------+          +--------------------------+
643    
644  Here, the file "bar-client.sml" gets included if SMLNJ_VERSION is  Here, the file bar-client.sml gets included if SMLNJ_VERSION is
645  greater than 110 and new-foo.sml exports a structure Bar _or_ if  greater than 110 and new-foo.sml exports a structure Bar _or_ if
646  SMLNJ_VERSION <= 110 and old-foo.sml exports structure Bar. Otherwise  SMLNJ_VERSION <= 110 and old-foo.sml exports structure Bar. Otherwise
647  "no-bar-so-far.sml" gets included instead.  In addition, the export of  no-bar-so-far.sml gets included instead.  In addition, the export of
648  structure Bar is guarded by its own existence.  (Structure Bar could  structure Bar is guarded by its own existence.  (Structure Bar could
649  also be defined by "no-bar-so-far.sml" in which case it would get  also be defined by no-bar-so-far.sml in which case it would get
650  exported regardless of the outcome of the other "defined" test.)  exported regardless of the outcome of the other "defined" test.)
651    
652  Some things to note:  Some things to note:
# Line 666  Line 662 
662  -----------------------------------------  -----------------------------------------
663    
664  The SML'97 basis is no longer built-in.  If you want to use it, you  The SML'97 basis is no longer built-in.  If you want to use it, you
665  must specify "basis.cm" as a member of your group/library.  must specify $/basis.cm as a member of your group/library.
666    
667  * No more aliases  * No more aliases
668  -----------------  -----------------

Legend:
Removed from v.677  
changed lines
  Added in v.710

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