summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Luke Lau [Sat, 27 Jul 2019 23:04:49 +0000 (00:04 +0100)]
Add a bunch more tests
Luke Lau [Sat, 27 Jul 2019 23:04:36 +0000 (00:04 +0100)]
Fill in missing builtin lambda info
Luke Lau [Sat, 27 Jul 2019 22:54:16 +0000 (23:54 +0100)]
Fix overwriting preserved base pointer in prolog
Also fix illegal instruction copying over captives
Luke Lau [Sat, 27 Jul 2019 22:53:51 +0000 (23:53 +0100)]
Add new test
Luke Lau [Sat, 27 Jul 2019 22:18:01 +0000 (23:18 +0100)]
Allocate and pass closures on the heap
Luke Lau [Wed, 24 Jul 2019 23:59:30 +0000 (00:59 +0100)]
Merge branch 'master' of lukelau.me:/srv/git/scheme
Luke Lau [Wed, 24 Jul 2019 15:36:58 +0000 (16:36 +0100)]
More WIP on closures
Luke Lau [Wed, 24 Jul 2019 15:20:12 +0000 (16:20 +0100)]
Add WIP on passing about closures
Luke Lau [Wed, 24 Jul 2019 13:30:34 +0000 (14:30 +0100)]
Allocate heap at the start
Luke Lau [Wed, 24 Jul 2019 13:29:45 +0000 (14:29 +0100)]
Fix string addressing and clobbered register
Luke Lau [Wed, 24 Jul 2019 12:21:09 +0000 (13:21 +0100)]
Fix static string addressing
Luke Lau [Tue, 23 Jul 2019 22:52:21 +0000 (23:52 +0100)]
Add darwin target support
Luke Lau [Tue, 23 Jul 2019 16:12:18 +0000 (17:12 +0100)]
Make the ABI respect stack etc.
Luke Lau [Tue, 23 Jul 2019 10:14:20 +0000 (11:14 +0100)]
Update main for codegen changes
Luke Lau [Tue, 23 Jul 2019 10:13:51 +0000 (11:13 +0100)]
Add strings and print primitive
Luke Lau [Tue, 23 Jul 2019 07:57:52 +0000 (08:57 +0100)]
Remove C dependency, directly emit _start
Luke Lau [Tue, 23 Jul 2019 00:36:06 +0000 (01:36 +0100)]
Codegen if statements
Luke Lau [Tue, 23 Jul 2019 00:35:16 +0000 (01:35 +0100)]
Add ast-traverse helper
Luke Lau [Mon, 22 Jul 2019 23:03:24 +0000 (00:03 +0100)]
Refactor ast "pattern matching" to a single function
Luke Lau [Mon, 22 Jul 2019 19:41:24 +0000 (20:41 +0100)]
Add recursive let-bindings
Luke Lau [Mon, 22 Jul 2019 01:37:02 +0000 (02:37 +0100)]
Fix some normalization issues, add codegen tests
Luke Lau [Mon, 22 Jul 2019 00:28:50 +0000 (01:28 +0100)]
First pass at lambdas and closures
Luke Lau [Sun, 21 Jul 2019 22:49:41 +0000 (23:49 +0100)]
Add pretty printing for types
Luke Lau [Sun, 21 Jul 2019 00:40:02 +0000 (01:40 +0100)]
Add more binary ops
Luke Lau [Sat, 20 Jul 2019 16:48:01 +0000 (17:48 +0100)]
Resolve types in lambda arguments, recursively substitute
Also add test
Luke Lau [Sat, 20 Jul 2019 16:02:28 +0000 (17:02 +0100)]
Normalize lambdas to be single arguments only
Luke Lau [Wed, 17 Jul 2019 23:35:35 +0000 (00:35 +0100)]
Split out compiler into codegen and main
Luke Lau [Wed, 17 Jul 2019 22:23:16 +0000 (23:23 +0100)]
Fix up codegen-add for vars
Luke Lau [Wed, 17 Jul 2019 22:15:15 +0000 (23:15 +0100)]
Add let bindings
Also split out some helpers into a separate ast file
Need to split compiler out into codegen and main
Luke Lau [Wed, 17 Jul 2019 20:54:13 +0000 (21:54 +0100)]
Add .gitignore
Luke Lau [Wed, 17 Jul 2019 20:53:26 +0000 (21:53 +0100)]
Add consolidation, tie up with typechecker
Also normalize program before typechecking
Luke Lau [Wed, 17 Jul 2019 14:07:58 +0000 (15:07 +0100)]
Start typechecker