-
Notifications
You must be signed in to change notification settings - Fork 71
/
coalton-compiler.asd
122 lines (120 loc) · 5.34 KB
/
coalton-compiler.asd
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
;;; The Coalton compiler. See coalton.asd for the toplevel Coalton package.
(asdf:defsystem #:coalton-compiler
:description "The Coalton compiler."
:author "Coalton contributors (https://github.com/coalton-lang/coalton)"
:license "MIT"
:version (:read-file-form "VERSION.txt")
:around-compile (lambda (compile)
(let (#+sbcl (sb-ext:*derive-function-types* t)
#+sbcl (sb-ext:*block-compile-default* :specified))
(funcall compile)))
:depends-on (#:alexandria
#:concrete-syntax-tree
#:eclector
#:eclector-concrete-syntax-tree
#:float-features
#:fset
#:named-readtables
#:source-error
#:trivial-gray-streams)
:pathname "src/"
:serial t
:components ((:file "package")
(:file "settings")
(:file "utilities")
(:file "source")
(:file "global-lexical")
(:file "constants")
(:module "algorithm"
:serial t
:components ((:file "tarjan-scc")
(:file "immutable-map")
(:file "immutable-listmap")
(:file "package")))
(:module "parser"
:serial t
:components ((:file "base")
(:file "cursor")
(:file "reader")
(:file "types")
(:file "pattern")
(:file "macro")
(:file "expression")
(:file "toplevel")
(:file "collect")
(:file "renamer")
(:file "binding")
(:file "type-definition")
(:file "package")))
(:module "runtime"
:serial t
:components ((:file "function-entry")
(:file "package")))
(:module "typechecker"
:serial t
:components ((:file "base")
(:file "kinds")
(:file "types")
(:file "substitutions")
(:file "predicate")
(:file "scheme")
(:file "type-errors")
(:file "unify")
(:file "fundeps")
(:file "map")
(:file "environment")
(:file "lisp-type")
(:file "context-reduction")
(:file "stage-1")
(:file "pattern")
(:file "expression")
(:file "traverse")
(:file "toplevel")
(:file "binding")
(:file "accessor")
(:file "partial-type-env")
(:file "parse-type")
(:file "define-type")
(:file "define-class")
(:file "tc-env")
(:file "define")
(:file "define-instance")
(:file "specialize")
(:file "translation-unit")
(:file "package")))
(:module "analysis"
:serial t
:components ((:file "pattern-exhaustiveness")
(:file "unused-variables")
(:file "underapplied-values")
(:file "analysis")
(:file "package")))
(:module "codegen"
:serial t
:components ((:file "pattern")
(:file "ast")
(:file "traverse")
(:file "transformations")
(:file "ast-substitutions")
(:file "resolve-instance")
(:file "typecheck-node")
(:file "hoister")
(:file "translate-expression")
(:file "translate-instance")
(:file "struct-or-class")
(:file "codegen-pattern")
(:file "codegen-type-definition")
(:file "codegen-expression")
(:file "codegen-class")
(:file "monomorphize")
(:file "constant-propagation")
(:file "optimizer")
(:file "program")
(:file "package")))
(:file "unlock-package" :if-feature :sb-package-locks)
(:file "entry")
(:file "reader")
(:file "debug")
(:file "faux-macros")
(:file "language-macros")
(:file "lock-package" :if-feature :sb-package-locks)))