-
Notifications
You must be signed in to change notification settings - Fork 2
/
typed.rkt
54 lines (44 loc) · 1.48 KB
/
typed.rkt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#lang typed/racket/base
(require
zordoz/typed/zo-structs
typed/racket/unsafe)
(require/typed zordoz/private/zo-find
(#:opaque result result?)
(result-zo (-> result Zo))
(result-path (-> result (Listof Zo))))
;; -----------------------------------------------------------------------------
(unsafe-require/typed zordoz/private/zo-string
(zo->string (->* [Zo] [#:deep? Boolean] String))
(zo->spec (-> Zo Spec)))
(unsafe-require/typed zordoz/private/zo-transition
(zo-transition (-> Zo String (Values (U Zo (Listof Zo)) Boolean))))
(unsafe-require/typed zordoz/private/zo-find
(zo-find (->* [Zo] [#:limit (U Natural #f)] (Listof result))))
(unsafe-require/typed zordoz/private/zo-shell
(find-all (->* [Path-String (Listof String)] [#:limit (U Natural #f)] Void))
(filename->shell (-> Path-String Void))
(zo->shell (-> Zo Void))
(syntax->shell (-> Syntax Void)))
(unsafe-require/typed zordoz/private/zo-syntax
(compiled-expression->zo (-> Compiled-Expression Zo))
(syntax->zo (-> Syntax Zo))
(syntax->decompile (-> Syntax Any))
(toplevel-syntax->zo (-> Syntax (Listof Zo)))
(zo->compiled-expression (-> Zo Compiled-Expression)))
;; =============================================================================
(provide
result result? result-zo result-path
zo->string
zo->spec
zo-transition
zo-find
find-all
filename->shell
zo->shell
syntax->shell
compiled-expression->zo
syntax->zo
syntax->decompile
toplevel-syntax->zo
zo->compiled-expression
)