Overview  Index  Help 
Standard ML Basis Library

CleanIO


structure CleanIO :> sig
                       type tag
                       val osInitHook : (unit -> unit) ref
                       val stdStrmHook : (unit -> unit) ref
                       val addCleaner
                           : {
                               init : unit -> unit,
                               flush : unit -> unit,
                               close : unit -> unit
                             } ->
                               tag
                       val rebindCleaner
                           : tag *
                             {
                               init : unit -> unit,
                               flush : unit -> unit,
                               close : unit -> unit
                             } ->
                               unit
                       val removeCleaner : tag -> unit
                     end =
struct
  structure C = CleanUp
  type tag = unit ref
  type cleaner =
       {
         tag : tag,
         init : unit -> unit,
         flush : unit -> unit,
         close : unit -> unit
       }
  val osInitHook : (unit -> unit) ref
  val stdStrmHook : (unit -> unit) ref
  val cleaners
  val addCleaner
      : {init : unit -> unit, flush : unit -> unit, close : unit -> unit} -> tag
  val getTag
  val rebindCleaner
      : tag * {init : unit -> unit, flush : unit -> unit, close : unit -> unit}
        ->
          unit
  val removeCleaner : tag -> unit
  val doClean
  val cleanUp
end

 
Type detail

tag

type tag = unit ref


cleaner

type cleaner =
     {
       tag : tag,
       init : unit -> unit,
       flush : unit -> unit,
       close : unit -> unit
     }

     
Value detail

osInitHook

val osInitHook : (unit -> unit) ref


stdStrmHook

val stdStrmHook : (unit -> unit) ref


cleaners

val cleaners


addCleaner

val addCleaner
    : {init : unit -> unit, flush : unit -> unit, close : unit -> unit} -> tag


getTag

val getTag


rebindCleaner

val rebindCleaner
    : tag * {init : unit -> unit, flush : unit -> unit, close : unit -> unit} ->
        unit


removeCleaner

val removeCleaner : tag -> unit


doClean

val doClean


cleanUp

val cleanUp

 


Overview  Index  Help 
Standard ML Basis Library

This document may be distributed freely over the internet as long as the copyright notice and license terms below are prominently displayed within every machine-readable copy.

Copyright © 2003 AT&T and Lucent Technologies. All rights reserved.

Permission is granted for internet users to make one paper copy for their own personal use. Further hardcopy reproduction is strictly prohibited. Permission to distribute the HTML document electronically on any medium other than the internet must be requested from the copyright holders by contacting the editors. Printed versions of the SML Basis Manual are available from Cambridge University Press. To order, please visit www.cup.org (North America) or www.cup.cam.ac.uk (outside North America).