From d5c72476e8afa9a3d7078e1eb8a325c1cc028482 Mon Sep 17 00:00:00 2001 From: Vincent St-Amour Date: Wed, 9 Jun 2010 12:34:17 -0400 Subject: [PATCH] Added the Thread type and related functions. original commit: 15b0c8542d3a54a37539608623754109f96b4d3e --- collects/typed-scheme/private/base-env.rkt | 12 +++++++++++- collects/typed-scheme/private/base-types-new.rkt | 1 + collects/typed-scheme/types/abbrev.rkt | 1 + 3 files changed, 13 insertions(+), 1 deletion(-) 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?))