Added types and tests for symbol operations
This commit is contained in:
parent
ab23db7b5b
commit
4ba12dd20e
24
collects/tests/typed-scheme/succeed/symbols.rkt
Normal file
24
collects/tests/typed-scheme/succeed/symbols.rkt
Normal file
|
@ -0,0 +1,24 @@
|
|||
#lang typed/racket
|
||||
|
||||
(: foo Symbol)
|
||||
(: bar Symbol)
|
||||
|
||||
(define foo 'foo)
|
||||
(define bar 'bar)
|
||||
|
||||
(symbol? foo)
|
||||
(symbol? 2)
|
||||
|
||||
(symbol-interned? foo)
|
||||
(symbol-interned? (string->unreadable-symbol "bar"))
|
||||
(symbol-interned? (string->uninterned-symbol "bar"))
|
||||
(symbol-interned? (gensym foo))
|
||||
|
||||
(symbol-unreadable? (gensym))
|
||||
(symbol-unreadable? foo)
|
||||
(symbol-unreadable? (string->unreadable-symbol "bar"))
|
||||
(symbol-unreadable? (string->uninterned-symbol "bar"))
|
||||
|
||||
(symbol->string foo)
|
||||
(string->symbol (symbol->string foo))
|
||||
|
|
@ -190,7 +190,6 @@
|
|||
(Univ (make-pred-ty (list a) Univ b) . -> . b)
|
||||
(-> (Un a (-val #f)) a)))]
|
||||
[defined? (->* (list Univ) -Boolean : (-FS (-not-filter -Undefined 0 null) (-filter -Undefined 0 null)))]
|
||||
[gensym (->opt [Sym] Sym)]
|
||||
|
||||
[open-input-string (-> -String -Input-Port)]
|
||||
[open-input-bytes (-> -Bytes -Input-Port)]
|
||||
|
@ -317,8 +316,21 @@
|
|||
[string-join (-> (-lst -String) -String -String)]
|
||||
|
||||
|
||||
|
||||
;Section 3.6
|
||||
[symbol? (make-pred-ty Sym)]
|
||||
[symbol-interned? (-> Sym B)]
|
||||
[symbol-unreadable? (-> Sym B)]
|
||||
|
||||
[symbol->string (Sym . -> . -String)]
|
||||
|
||||
|
||||
[string->symbol (-String . -> . Sym)]
|
||||
[string->uninterned-symbol (-String . -> . Sym)]
|
||||
[string->unreadable-symbol (-String . -> . Sym)]
|
||||
[gensym (->opt [Sym] Sym)]
|
||||
|
||||
|
||||
|
||||
[keyword? (make-pred-ty -Keyword)]
|
||||
[list? (make-pred-ty (-lst Univ))]
|
||||
[list (-poly (a) (->* '() a (-lst a)))]
|
||||
|
@ -547,8 +559,6 @@
|
|||
|
||||
[match:error ((list) Univ . ->* . (Un))]
|
||||
|
||||
[string->symbol (-String . -> . Sym)]
|
||||
[symbol->string (Sym . -> . -String)]
|
||||
[string->keyword (-String . -> . -Keyword)]
|
||||
[keyword->string (-Keyword . -> . -String)]
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user