Commit Graph

3 Commits

Author SHA1 Message Date
Leaf Petersen c27685968a Static semantics v0.1. This now contains a fairly complete version of the static semantics for a core language, along with a translation into the same core language extended with a few small primitives. The insertion of covariance type checks is handled. Per Siggi's suggestion, I've moved the extended core language primitives into the elaboration section. The main changes from the last checkin are the treatment of classes, class hierarchies, override checking, etc. I've added some text to explain the general idea of what's going on.
I've gone ahead an uploaded a pdf version to the site.dev_compiler repository that matches the version in this CL.

BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/1253143002.
2015-07-28 15:29:14 -07:00
Leaf Petersen b561f0c284 Core static semantics checkpoint. First take on a core static semantics. Class typing is not done, but all of the core language is pretty well fleshed out. Fuzzy arrow types are handled, downwards inference on function types is modeled, and local variable type inference is modeled. Field lookup has not been specified yet.
I've split out the elaboration of the input syntax into the final program with runtime checks and suppressed that from the output for now.

BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/1236443002.
2015-07-15 15:52:39 -07:00
Leaf Petersen 53345a6d6d Syntax and subtyping for strong dart. Initial pass on a core calculus for exploring and defining the key ideas underlying the strong dart type system. This CL contains the initial latex setup, a proposed base syntax to start from, and the definition of subtyping.
BUG=
R=jmesserly@google.com, vsm@google.com

Review URL: https://codereview.chromium.org/1205173003
2015-06-25 13:17:01 -07:00