Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] View of /smlnj-lib/trunk/PP/tests/base.sml
ViewVC logotype

View of /smlnj-lib/trunk/PP/tests/base.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2144 - (download) (annotate)
Thu Nov 2 16:23:11 2006 UTC (13 years, 11 months ago) by blume
File size: 840 byte(s)
moved smlnj-lib to toplevel
(* base.sml
 *
 * COPYRIGHT (c) 1997 Bell Labs, Lucent Technologies.
 *
 * Some common code for testing.
 *)

CM.make(); (* to compile and load the PP library *)

structure TextToken =
  struct
    type token = string
    type style = unit
    fun string t = t
    fun style t = ()
    fun size t = String.size t
  end;

structure PP = PPDebugFn(PPStreamFn(
    structure Token = TextToken
    structure Device = SimpleTextIODev));

fun withPP (name, wid) ppFn = let
      val saveStrm = !PP.debugStrm
      val _ = PP.debugStrm := TextIO.openAppend("out")
      val ppStrm =
	    PP.openStream(SimpleTextIODev.openDev{dst=TextIO.stdOut, wid=wid})
      in
	print(concat[name, ": width = ", Int.toString wid, "\n"]);
	ppFn ppStrm;
	PP.closeStream ppStrm;
	print "\n";
	TextIO.closeOut (!PP.debugStrm);
	PP.debugStrm := saveStrm
      end;


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