Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 37 lines (23 sloc) 0.981 kB
d201b7e @endobson Initial version of working evaluator
endobson authored
1 #lang racket
2
0149295 @endobson Working on supporting modules and linking
endobson authored
3 (require "case-clause.rkt")
4 (require "datatypes.rkt")
5 (require "exports.rkt")
6
d201b7e @endobson Initial version of working evaluator
endobson authored
7 (provide (all-defined-out))
0149295 @endobson Working on supporting modules and linking
endobson authored
8 (provide (all-from-out "case-clause.rkt"))
9 (provide (all-from-out "datatypes.rkt"))
10 (provide (all-from-out "exports.rkt"))
d201b7e @endobson Initial version of working evaluator
endobson authored
11
0149295 @endobson Working on supporting modules and linking
endobson authored
12 (struct module (id imports exports forms) #:transparent)
d201b7e @endobson Initial version of working evaluator
endobson authored
13
14 (struct module-signature (exports) #:transparent)
15
16
0149295 @endobson Working on supporting modules and linking
endobson authored
17 (struct module-import (name) #:transparent)
d201b7e @endobson Initial version of working evaluator
endobson authored
18
19
20 (struct abstract-type () #:transparent)
21 (struct arrow-type (arg result) #:transparent)
22 (struct forall-type (name body) #:transparent)
23 (struct variable-type (name) #:transparent)
24 (struct structure-type (datatype args) #:transparent)
25
26 (struct variable-declaration (name type) #:transparent)
27 (struct variable-definition (name expr) #:transparent)
28
29 (struct case-expr (expr clauses) #:transparent)
30 (struct app-expr (fun arg) #:transparent)
31 (struct identifier-expr (name) #:transparent)
32 (struct lambda-expr (name body) #:transparent)
33
34
35
36 (struct program (modules main-module-name expr))
Something went wrong with that request. Please try again.