From 19b785956f5e901c8177d8576f28013ce103c0bc Mon Sep 17 00:00:00 2001 From: Asumu Takikawa Date: Thu, 24 Oct 2013 15:07:49 -0400 Subject: [PATCH] Add more class/object functions to TR base-env --- .../typed-racket/base-env/base-env.rkt | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/base-env.rkt b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/base-env.rkt index 4f84ce913e..24cde9dad5 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/base-env.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/base-env/base-env.rkt @@ -964,7 +964,24 @@ [object% (-class)] ;; Section 6.11 (Object, Class, and Interface Utilities) +[object? (make-pred-ty (-object))] +[class? (make-pred-ty (make-ClassTop))] +;; TODO: interface? +;; generic? +[object=? (-> (-object) (-object) -Boolean)] +[object->vector (->opt (-object) [Univ] (-vec Univ))] +;; TODO: class->interface +;; object-interface [is-a? (-> Univ (make-ClassTop) -Boolean)] +[subclass? (-> Univ (make-ClassTop) -Boolean)] +;; TODO: implementation? +;; interface-extension? +;; method-in-interface? +;; interface->method-names +[object-method-arity-includes? (-> (-object) -Symbol -Nat -Boolean)] +[field-names (-> (-object) (-lst -Symbol))] +[object-info (-> (-object) (-values (list (Un (make-ClassTop) (-val #f)) -Boolean)))] +;; TODO: class-info (is this sound to allow?) ;; Section 9.1 [exn:misc:match? (-> Univ B)]