36 lines
965 B
Racket
36 lines
965 B
Racket
|
#lang typed/syndicate/roles
|
|||
|
|
|||
|
(require rackunit/turnstile)
|
|||
|
|
|||
|
(check-type
|
|||
|
(spawn (U (Tuple Int) (Observe (Tuple ★/t)))
|
|||
|
(start-facet _
|
|||
|
(on (asserted (tuple $x))
|
|||
|
(add1 x))))
|
|||
|
;; wanted: ν-s ((Actor (Tuple Int)))
|
|||
|
: ★/t)
|
|||
|
|
|||
|
(typecheck-fail
|
|||
|
(spawn (U (Tuple String) (Observe (Tuple ★/t)))
|
|||
|
(start-facet _
|
|||
|
(on (asserted (tuple $x:Int))
|
|||
|
(add1 x))))
|
|||
|
#:with-msg "spawn: Not prepared to handle inputs:\n\\(Tuple- String\\)")
|
|||
|
|
|||
|
(check-type
|
|||
|
(spawn (U)
|
|||
|
(start-facet _
|
|||
|
(know (tuple 5))
|
|||
|
(on (know (tuple $x:Int))
|
|||
|
(add1 x))))
|
|||
|
;; wanted: ν-s ((Actor (U)))
|
|||
|
: ★/t)
|
|||
|
|
|||
|
(typecheck-fail
|
|||
|
(spawn (U)
|
|||
|
(start-facet _
|
|||
|
(know (tuple "hi"))
|
|||
|
(on (know (tuple $x:Int))
|
|||
|
(add1 x))))
|
|||
|
#:with-msg "spawn: Not prepared to handle internal events:\n\\(Tuple- String\\)")
|