; Copyright (c) 1993, 1994 Richard Kelsey and Jonathan Rees. See file COPYING. ; The types. (define :syntax (loophole :type syntax-type)) (define :values (loophole :type any-values-type)) (define :arguments (loophole :type any-arguments-type)) (define :value (loophole :type value-type)) (define procedure (loophole (proc (:type :type) :type) (lambda (dom cod) (procedure-type dom cod #t)))) ; Use the definitions of PROC and SOME-VALUES from the meta-types module ; Various base types (define :boolean (loophole :type boolean-type)) (define :char (loophole :type char-type)) (define :null (loophole :type null-type)) (define :unspecific (loophole :type unspecific-type)) (define :number (loophole :type number-type)) (define :complex (loophole :type complex-type)) (define :real (loophole :type real-type)) (define :rational (loophole :type rational-type)) (define :integer (loophole :type integer-type)) (define :exact-integer (loophole :type exact-integer-type)) (define :pair (loophole :type pair-type)) (define :string (loophole :type string-type)) (define :symbol (loophole :type symbol-type)) (define :vector (loophole :type vector-type)) (define :procedure (loophole :type any-procedure-type)) ; Temporary (define :input-port :value) (define :output-port :value) (define :error (loophole :type error-type)) (define :escape (loophole :type escape-type)) (define :structure (loophole :type structure-type)) (define :type (loophole :type value-type))