diff --git a/racket/typed/drivers/timestate.rkt b/racket/typed/drivers/timestate.rkt new file mode 100644 index 0000000..da70133 --- /dev/null +++ b/racket/typed/drivers/timestate.rkt @@ -0,0 +1,22 @@ +#lang typed/syndicate/roles + +(provide activate! + later-than + LaterThanT + LaterThan + TimeStateDriver) + +(require-struct later-than + #:as LaterThanT + #:from syndicate/drivers/timestate) + +(define-type-alias LaterThan (LaterThanT Int)) + +(define-type-alias TimeStateDriver + (U LaterThan + (Observe (LaterThanT ★/t)))) + +;; TODO ignoring other driver underneath it + +(require/typed (submod syndicate/drivers/timestate syndicate-main) + [activate! : (proc → ⊥ #:spawns ((Actor TimeStateDriver)))])