Commit Graph

32 Commits

Author SHA1 Message Date
bca70ce2a0 Add a 'tail recursive' fibonacci program 2019-08-17 23:09:30 -07:00
03581f7af0 Add design document 2019-06-12 21:05:30 -07:00
7ee084385c Add makefile. 2019-06-12 20:35:50 -07:00
d32d92e241 Fix c++11 compatibility. 2019-06-12 20:35:42 -07:00
17c5486551 Add good old factorial. 2019-06-12 19:31:49 -07:00
df33263fcd Clumsily add equality checking. 2019-06-12 19:27:52 -07:00
9855dda31a Add a test for lazy evaluation. 2019-06-12 08:59:31 -07:00
9d9c7b7e9f Fix parenthesized parsing. 2019-06-12 08:54:10 -07:00
396043d801 Make the sample programs actually run. 2019-06-12 08:53:54 -07:00
c3d4ef22ce Remove unneeded debug output from the runtime. 2019-06-12 08:52:55 -07:00
521004084e Read from input. 2019-06-12 08:43:06 -07:00
b2bb05d4b8 Tweak data types to...work? 2019-06-12 08:35:12 -07:00
fe35695532 Add support for data types. 2019-06-12 07:21:51 -07:00
dbe7572eb5 Store arity of functions in llvm context to generate correct calls. 2019-06-12 04:11:28 -07:00
e6f31f8c5b Fix unwind bug and add eval. 2019-06-12 03:33:35 -07:00
37f5e53a59 Get awful LLVM code generation working. 2019-06-12 01:38:27 -07:00
e579078f73 Rename binop operators. 2019-06-11 17:53:22 -07:00
da515437e6 Get basic G-machine compilation working. 2019-06-11 17:24:28 -07:00
d729611486 Implement constructors type checking (?). 2019-06-09 21:25:02 -07:00
0b80ce711d Type check constructors. 2019-06-09 20:24:44 -07:00
0b544a2515 Fix function return type checking. 2019-06-09 19:57:58 -07:00
711c78e0f6 Seemingly get basic type checking working. 2019-06-09 19:51:53 -07:00
1e77622589 Rewrite types to not use IDs unless needed. 2019-06-09 16:13:13 -07:00
f3be325644 Add a CMakeLists file. 2019-06-09 14:02:41 -07:00
e039e44592 Allow recursive types. 2019-06-05 21:36:30 -07:00
1be78c3548 Start working on types. 2019-06-05 21:32:46 -07:00
7bd6913ac5 Add code to create ASTs. 2019-06-04 20:45:06 -07:00
a6d381b697 Add AST and pattern classes 2019-06-04 18:13:39 -07:00
15fda4ea97 Add some basic programs 2019-06-04 17:12:24 -07:00
fbbb4185ba Add numbers. 2019-06-04 17:06:45 -07:00
a5b0e15bfe Add expressions to the language 2019-06-04 16:54:13 -07:00
9542e27e61 Add basic language grammar (without expressions) 2019-06-04 16:12:42 -07:00