Annotation of researchv10no/cmd/sml/src/util/errormsg.sml, revision 1.1

1.1     ! root        1: (* Copyright 1989 by AT&T Bell Laboratories *)
        !             2: structure ErrorMsg : ERRORMSG = struct
        !             3: 
        !             4:     exception Syntax
        !             5: 
        !             6:     val anyErrors = ref false
        !             7:     val lineNum = ref 1
        !             8:     val fileName = ref ""
        !             9:     val debugging = System.Control.debugging
        !            10: 
        !            11:     fun say (msg: string) =
        !            12:        (if !System.interactive then ()
        !            13:         else (print (!fileName); print ", "; print "line ";
        !            14:                print (makestring(!lineNum)); print ": ");
        !            15:          print msg;
        !            16:         print "\n";
        !            17:          ())
        !            18: 
        !            19:     fun warn msg = say ("Warning: " ^ msg)
        !            20: 
        !            21:     fun complain (msg: string) =
        !            22:        (say ("Error: " ^ msg); anyErrors := true)
        !            23:  
        !            24:     fun condemn msg = (complain msg; raise Syntax)
        !            25:     fun impossible msg = condemn("Compiler bug: " ^ msg)
        !            26: 
        !            27:     fun flaggedmsg (flg : bool ref) (msg : string) =
        !            28:        let val printit = !flg
        !            29:        in  if printit then (print msg; print "\n")
        !            30:            else ();
        !            31:            printit
        !            32:        end
        !            33:     val debugmsg = flaggedmsg debugging
        !            34: 
        !            35: end  (* structure ErrorMsg *)
        !            36: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.