1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
;; -*-theme-d-*-
;; Copyright (C) 2008-2013, 2021 Tommi Höynälänmaa
;; Distributed under GNU Lesser General Public License version 3,
;; see file doc/LGPL-3.
;; The result type safety of the following procedures has been checked:
;; console-read-character, console-read, console-character-ready?
(define-body (standard-library console-io)
(import (standard-library text-file-io))
(define _console-display
(unchecked-prim-proc
theme-prim-console-display (<object>) <none> nonpure))
(add-method console-display-string
(lambda (((str <string>)) <none> nonpure)
(_console-display str)))
(add-method console-display-character
(lambda (((char <character>)) <none> nonpure)
(_console-display char)))
(add-method console-newline
(unchecked-prim-proc theme-console-newline () <none> nonpure))
(add-method console-read-character
(unchecked-prim-proc theme-console-read-character
()
(:union <character> <eof>)
nonpure))
(add-method console-read
(unchecked-prim-proc theme-console-read
()
<object>
nonpure))
(add-method console-character-ready?
(unchecked-prim-proc theme-console-char-ready? () <boolean> pure))
(add-method console-display
(lambda (((obj <object>)) <none> nonpure)
(display (current-output-port) obj)))
(add-method console-display-line
(lambda (((obj <object>)) <none> nonpure)
(display-line (current-output-port) obj)))
(add-method console-write
(lambda (((obj <object>)) <none> nonpure)
(write (current-output-port) obj)))
(add-method console-write-line
(lambda (((obj <object>)) <none> nonpure)
(write-line (current-output-port) obj))))
|