-
Notifications
You must be signed in to change notification settings - Fork 74
/
Copy pathpackage.lisp
125 lines (116 loc) · 1.84 KB
/
package.lisp
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
(in-package #:cl-user)
(defpackage #:coalton
(:documentation "Public interface to COALTON.")
(:use) ; Keep the package clean!
(:import-from
#:common-lisp
#:in-package
#:defpackage)
(:export
#:in-package
#:defpackage)
(:export #:call-coalton-function)
(:export
#:coalton-toplevel
#:coalton-codegen
#:coalton-codegen-ast
#:coalton-codegen-types
#:coalton
#:declare
#:define
#:define-type
#:define-type-alias
#:define-struct
#:define-class
#:define-instance
#:repr
#:lisp-toplevel
#:monomorphize
#:inline
#:specialize
#:unable-to-codegen)
;; Early Types
(:export
#:-> #:→
#:=> #:⇒
#:∀
#:Unit
#:Void
#:Boolean #:True #:False
#:Char
#:U8
#:U16
#:U32
#:U64
#:I8
#:I16
#:I32
#:I64
#:Integer
#:IFix
#:UFix
#:Single-Float
#:Double-Float
#:String
#:Fraction
#:Arrow
#:List #:Cons #:Nil)
;; Primitive Syntax
(:export
#:fn #:λ
#:match
#:let
#:= ; Syntax
#:lisp
#:<- ; Syntax
#:_
#:return
#:the
#:while
#:while-let
#:loop
#:break
#:continue
#:for
#:in ; Syntax
)
;; Macros
(:export
#:if
#:when
#:unless
#:and
#:or
#:cond
#:as
#:try-as
#:unwrap-as
#:nest
#:pipe
#:.<
#:.>
#:make-list
#:to-boolean
#:do
#:progn
#:assert)
(:export
#:print-value-db
#:print-type-db
#:print-class-db
#:print-instance-db
#:print-specializations
#:lookup-code
#:lookup-class
#:lookup-fundeps
#:type-of
#:describe-type-of
#:describe-type-alias
#:set-type-printing-mode
#:kind-of)
(:intern
#:seq
#:bind
#:Boolean/True
#:Boolean/False
#:Unit/Unit))