Re: suppressing compiler output

"Buday, Gergely Istvan" <[email protected]>
Newsgroups gmane.comp.lang.sml.smlnj
Message-ID <89AE2DBAB3A9E943A358F9780F266AC30115BB64@budgw09a.ww300.siemens.net>
> From: David MacQueen [mailto:[email protected]] 
> We should fix the autoloading messages so that they also go through
> Control.Print.out (which they apparently do not).

I think the problem is that autoloading messages are displayed _before_
any evaluation of the interactive loop is done. A compiler option to run

Control.Print.out := {say=fn _=>(), flush=fn()=>()};

before anything is done would be a solution. Regarding autoloading, I
think it correctly uses Control.Print.{say,flush} just the user don't
have a chance to set it before the first use of those:

-bash-3.00$ cat src/cm/util/say.sml
(*
 * Output of feedback and diagnostics.
 *
 *   Copyright (c) 1999 by Lucent Technologies, Bell Laboratories.
 *
 * author: Matthias Blume (blume-sXtZGUMCxtn536EW/[email protected])
 *)
signature SAY = sig
    val say: string list -> unit
    val vsay: string list -> unit
    val dsay: string list -> unit
end

structure Say :> SAY = struct

    structure Print = Control.Print

    fun say l = (Print.say (concat l); Print.flush ())

    fun csay { get, set } l = if get () then say l else ()
    val vsay = csay StdConfig.verbose
    val dsay = csay StdConfig.debug
end

Best Wishes

- Gergely

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.