Annotation of researchv10no/cmd/sml/src/util/errormsg.sml, revision 1.1.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.