diff --git a/collects/typed-racket/base-env/base-env.rkt b/collects/typed-racket/base-env/base-env.rkt index a9e27725b1..053cc3a220 100644 --- a/collects/typed-racket/base-env/base-env.rkt +++ b/collects/typed-racket/base-env/base-env.rkt @@ -1522,16 +1522,18 @@ ;Section 14.4 (Processes) -;; Subprocces has 3 arguments and 3 return values which are either ports -;; or false. There is a relation that if a port argument is false, then -;; the corresponding return value is a port, and if it is a port the return -;; value is false. process/ports and process*/ports have a similar behavior. -;; This behavior is encoded in the type system as each possible combination -;; of port arguments being one case of a case-> type. There is also a -;; final case where the unions are preserved because TR currently can -;; not deal with applying a case lambda to union types, and ensure that -;; while no one branch covers every union, every union is covered by a branch. -;; There is also twice as many cases to deal with the 'exact behavior for windows. +;; `subprocess' has 3 arguments and 3 return values which are either +;; ports or false. There is a relation that if a port argument is +;; false, then the corresponding return value is a port, and if it is +;; a port the return value is false. `process/ports` and +;; `process*/ports' have a similar behavior. This behavior is encoded +;; in the type system as each possible combination of port arguments +;; being one case of a case-> type. There is also a final case where +;; the unions are preserved because TR currently can not deal with +;; applying a case lambda to union types, and ensure that while no one +;; branch covers every union, every union is covered by a branch. +;; There is also twice as many cases to deal with the 'exact behavior +;; for windows. [subprocess (let* ((make-opt-in-port (lambda (port) (if port -Input-Port (-val #f))))