Give correct type to in-port
when used with custom reader (#367)
* Give correct type to `in-port` when used with custom reader. Currently, `in-port` returns `(Sequenceof Any)` unconditionally, which is correct if the given read function is `read` (default value). However, `(in-port read-line)`, `(in-port read-char)`, etc. should have more specific types. * For `in-port`, strip out EOF from the sequence type.
This commit is contained in:
parent
e39bcc6245
commit
6ff74e8c35
|
@ -182,7 +182,9 @@
|
|||
[(-HashTop) (-seq (-pair Univ Univ))]))]
|
||||
;; in-port
|
||||
[(make-template-identifier 'in-port 'racket/private/for)
|
||||
(->opt [(-> -Input-Port Univ) -Input-Port] (-seq Univ))]
|
||||
(-poly (a)
|
||||
(cl->* (-> (-seq Univ))
|
||||
(->opt (-> -Input-Port (Un a (-val eof))) [-Input-Port] (-seq a))))]
|
||||
;; in-input-port-bytes
|
||||
[(make-template-identifier 'in-input-port-bytes 'racket/private/for)
|
||||
(-> -Input-Port (-seq -Byte))]
|
||||
|
|
Loading…
Reference in New Issue
Block a user