-
Notifications
You must be signed in to change notification settings - Fork 8
/
ocelot.rkt
37 lines (35 loc) · 873 Bytes
/
ocelot.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
#lang racket
(require "lang/ast.rkt" "lang/bounds.rkt" "lang/sketch.rkt" "lang/universe.rkt"
"engine/engine.rkt" "engine/interpretation.rkt"
"lib/print.rkt" "lib/simplify.rkt" "lib/simplify-solve.rkt")
(provide
; lang/ast.rkt
declare-relation
+ - & -> ~ join
<: :>
set
^ *
none univ iden
in =
and or => ! not
all some no
one lone
unary-op?
(struct-out prefab)
; lang/bounds.rkt
make-bound make-exact-bound make-upper-bound make-product-bound
(struct-out bounds)
get-upper-bound bounds-union bounds-variables
; lang/sketch.rkt
expression-sketch
; lang/universe.rkt
universe universe-atoms universe-inverse
; engine/engine.rkt
interpret interpret*
; engine/interpretation.rkt
instantiate-bounds interpretation->relations interpretation-union
; lib/print.rkt
ast->datum ast->alloy
; lib/simplify.rkt
simplify simplify/solve
)