# ***************************************************************************
#
# System dependent functions (ie. depending on the SML used)
#
# This api has one implementation
# for each of the different SMLs used.
#
# Currently, there are
# - njml.pkg (loaded from sources.lib) for SML/NJ 110.
# # Bu: sml 109 no longer supported
#
# $Date: 2001/03/30 13:39:19 $
# $Revision: 3.0 $
# Author: stefan (Last modification by $Author: 2cxl $)
#
# (C) 1996, Bremen Institute for Safe Systems, Universitaet Bremen
#
# **************************************************************************
# Compiled by:
#
src/lib/tk/src/tk.sublibapi Sys_Dep {
# Export an ML image
#
export_ml: { init: Void -> Void,
banner: String,
imagefile: String } -> Void;
set_print_depth: Int -> Void;
# Initialize TTY handler for tk, and reset to previous state.
# This sets sigINT to be ignored (so it can be used to interrupt
# diverging event handlers, see below), and sets up sigQUIT
#
init_tty: (Void -> Void) -> Void;
reset_tty: Void -> Void;
# Wrap an interrupt handler around a function f,
# so that sigINT (i.e. CTRL-C) aborts the function.
#
# The second argument is a function
# which is called when an interrupt occurs.
#
interruptable: (X -> Void) -> (Void -> Void) -> X -> Void;
# This wouldn't need to be here if
# everybody would just implement all
# of the basis library according to
# the spec but there you go: XXX BUGGO FIXME
#
exec: (String, List( String )) -> Bool;
};