Commit Graph

26 Commits

Author SHA1 Message Date
whitequark
ac92aabce1 Fix default argument fiasco. 2015-08-28 02:50:40 -05:00
whitequark
13e612c11b Fix tests. 2015-08-28 00:51:31 -05:00
whitequark
d0fd61866f compiler.types: print fields of instance types. 2015-08-27 17:25:01 -05:00
whitequark
a3284f8978 compiler.types: fix module paths in __repr__. 2015-08-27 15:46:36 -05:00
whitequark
cb225269ff Allow accessing attributes of embedded host objects. 2015-08-27 05:01:04 -05:00
whitequark
afc3f36104 ARTIQIRGenerator: fix polymorphic print on closures. 2015-08-19 12:37:22 -07:00
whitequark
51c591f01a Unbreak tests. 2015-08-18 22:44:09 -07:00
whitequark
6c8de9b6d4 Implement methods. 2015-08-18 22:39:22 -07:00
whitequark
94a2d5f5fa Implement class attribute access through instances. 2015-08-15 11:07:54 -04:00
whitequark
00efc8c636 Implement class definitions and class attribute access. 2015-08-15 09:45:16 -04:00
whitequark
c72267ecf5 Implement syscalls for the new compiler. 2015-08-10 20:26:06 +03:00
whitequark
4f02f6e667 compiler.types: make all hashable. 2015-08-10 13:15:42 +03:00
whitequark
b26af5df60 Implement sending RPCs. 2015-08-09 02:17:19 +03:00
whitequark
ece52062f2 Implement code generation for exception handling. 2015-07-25 05:37:37 +03:00
whitequark
f2a6110cc4 Add integration tests for every language construct. 2015-07-22 18:34:52 +03:00
whitequark
f28549a11a Add builtins.is_exception. 2015-07-17 16:05:02 +03:00
whitequark
6cda67c0c6 Ensure type comparisons see through type variables. 2015-07-16 14:59:05 +03:00
whitequark
b58fa9067d Add attributes to TRange.
Also make attributes an OrderedDict, for stable order during
LLVM IR generation.
2015-07-16 14:57:44 +03:00
whitequark
a6950bf11d Move builtin.is_{builtin,exn_constructor} to types. 2015-07-16 14:56:39 +03:00
whitequark
549c110e7c Fix types.TFunction.fold. 2015-07-04 04:27:24 +03:00
whitequark
bfabca494b Remove regions from types.
Unification-based inference for regions is useful with a language
that has let bindings (which would propagate the regions) and
functions polymorphic over regions. For reasons of simplicity,
ARTIQ has neither, and making unification-based inference work would
essentially mean adding region coercions between most AST nodes,
and having every source subexpression have its own region variable,
with the appropriate subtyping relationship.

It's simpler to just keep that state outside of typedtree.
2015-07-02 22:55:12 +03:00
whitequark
02b41ea0f7 Add MonomorphismChecker. 2015-07-02 21:28:26 +03:00
whitequark
196acb37f6 Add IntMonomorphizer. 2015-07-02 19:57:27 +03:00
whitequark
1702251ee5 Add region field to types. 2015-07-02 18:44:09 +03:00
whitequark
86cdc84f7e Initialize types.TBuiltin's attributes field. 2015-07-02 18:19:01 +03:00
whitequark
6bf95397d7 Rename package py2llvm to compiler.
Since the package implements a typechecker along with a code generator,
and the typechecker will be run before or together with transformations,
this name is more descriptive.
2015-06-29 20:15:22 +03:00