;; -*-theme-d-*-

;; Copyright (C) 2008-2013 Tommi Höynälänmaa
;; Distributed under GNU Lesser General Public License version 3,
;; see file doc/LGPL-3.

(define-interface (standard-library console-io)

  (import (standard-library core))

  (declare console-display-string
	   (:procedure (<string>) <none> nonpure))

  (declare console-display-character
	   (:procedure (<character>) <none> nonpure))

  (declare console-newline (:procedure () <none> nonpure))

  (declare console-read-character
	   (:procedure () (:union <character> <eof>) nonpure))

  (declare console-read
	   (:procedure () <object> nonpure))

  (declare console-character-ready? (:procedure () <boolean> pure))

  (declare console-display
	   (:procedure (<object>) <none> nonpure))

  (declare console-display-line
	   (:procedure (<object>) <none> nonpure))

  (declare console-write
	   (:procedure (<object>) <none> nonpure))

  (declare console-write-line
	   (:procedure (<object>) <none> nonpure)))

