diff --git a/collects/typed-scheme/private/base-env.rkt b/collects/typed-scheme/private/base-env.rkt index 8054c0c0..d3d251bf 100644 --- a/collects/typed-scheme/private/base-env.rkt +++ b/collects/typed-scheme/private/base-env.rkt @@ -280,7 +280,17 @@ [fprintf (->* (list -Output-Port -String) Univ -Void)] [format (->* (list -String) Univ -String)] -[sleep (N . -> . -Void)] +[thread (-> (-> Univ) -Thread)] +[thread? (make-pred-ty -Thread)] +[current-thread (-> -Thread)] +[thread/suspend-to-kill (-> (-> Univ) -Thread)] +[thread-suspend (-Thread . -> . -Void)] +[kill-thread (-Thread . -> . -Void)] +[break-thread (-Thread . -> . -Void)] +[sleep ([N] . ->opt . -Void)] +[thread-running? (-Thread . -> . B)] +[thread-dead? (-Thread . -> . B)] +[thread-wait (-Thread . -> . -Void)] [reverse (-poly (a) (-> (-lst a) (-lst a)))] [append (-poly (a) (->* (list) (-lst a) (-lst a)))] diff --git a/collects/typed-scheme/private/base-types-new.rkt b/collects/typed-scheme/private/base-types-new.rkt index 8dbf20df..d5a8cc81 100644 --- a/collects/typed-scheme/private/base-types-new.rkt +++ b/collects/typed-scheme/private/base-types-new.rkt @@ -35,6 +35,7 @@ [Identifier Ident] [Procedure top-func] [Keyword -Keyword] +[Thread -Thread] [Listof -Listof] [Vectorof (-poly (a) (make-Vector a))] [FlVector -FlVector] diff --git a/collects/typed-scheme/types/abbrev.rkt b/collects/typed-scheme/types/abbrev.rkt index a15c22c2..9bdfbb75 100644 --- a/collects/typed-scheme/types/abbrev.rkt +++ b/collects/typed-scheme/types/abbrev.rkt @@ -93,6 +93,7 @@ (define -String (make-Base 'String #'string?)) (define -Keyword (make-Base 'Keyword #'keyword?)) (define -Char (make-Base 'Char #'char?)) +(define -Thread (make-Base 'Thread #'thread?)) (define -Prompt-Tag (make-Base 'Prompt-Tag #'continuation-prompt-tag?)) (define -Cont-Mark-Set (make-Base 'Continuation-Mark-Set #'continuation-mark-set?)) (define -Path (make-Base 'Path #'path?))