Commit Graph

800 Commits (5a643bffcaeab67308709aba529d9d725e1cdc9d)

Author SHA1 Message Date
pca006132 1d13b16f94 updated function check 2021-07-26 16:00:29 +08:00
pca006132 8d0856a58d added documentation 2021-07-26 14:38:18 +08:00
pca006132 bf31c48bba fixed missing unification 2021-07-26 14:20:47 +08:00
Sebastien Bourdeauducq 0941de9ee1 Revert "shell.nix: set LLVM_SYS_100_PREFIX. Closes #4"
This reverts commit 53ebe8d8b2.
2021-07-26 12:29:16 +08:00
pca006132 8618837816 fixed range unification 2021-07-26 12:00:06 +08:00
Sebastien Bourdeauducq 53ebe8d8b2 shell.nix: set LLVM_SYS_100_PREFIX. Closes #4 2021-07-24 09:31:24 +08:00
pca006132 d7df93bef1 fixed range check 2021-07-23 17:22:05 +08:00
pca006132 d140164a38 fixed virtual unification 2021-07-23 16:19:00 +08:00
pca006132 ddcf4b7e39 refactored typedef 2021-07-23 15:57:37 +08:00
pca006132 88c45172b2 basic check for use-before-def 2021-07-22 17:07:49 +08:00
pca006132 c315227a28 init function check 2021-07-22 15:36:37 +08:00
pca006132 d484fa1e5c added return type check 2021-07-22 11:49:00 +08:00
pca006132 09c9218852 use custom unification table implementation
as the ena implementation did not expose the underlying vector store, we
cannot map over it to get a table without Rc<RefCell<T>> so that we can
send it around...
2021-07-22 11:37:29 +08:00
pca006132 4f81690128 modified occur check 2021-07-21 16:10:11 +08:00
pca006132 b3d849ea7a list test 2021-07-21 16:06:06 +08:00
pca006132 3e03398d9b obj test 2021-07-21 15:59:01 +08:00
pca006132 2f5c3b3cb7 more cleanup and started adding tests 2021-07-21 15:36:35 +08:00
pca006132 25ff24a320 modified interface 2021-07-21 14:24:46 +08:00
pca006132 0296844d5f cleanup 2021-07-21 13:28:05 +08:00
pca006132 e95bfe1d31 added statements 2021-07-20 16:56:04 +08:00
pca006132 bc9b453b3e function call implementation 2021-07-20 16:13:43 +08:00
pca006132 fa31e8f336 fold listcomp 2021-07-20 13:45:17 +08:00
pca006132 22455e43ac lambda fold 2021-07-20 11:47:19 +08:00
pca006132 016166de46 skeleton done 2021-07-19 17:26:51 +08:00
pca006132 eb4b2bb7f6 refactored using constrain
to allow easier modification later with subtyping
2021-07-19 17:05:48 +08:00
pca006132 e732f7e089 removed integer encoding 2021-07-19 16:51:58 +08:00
pca006132 d4b85d0bac expression type inference (WIP) 2021-07-19 13:35:01 +08:00
pca006132 c913fb28bd use signed integer for TSeq 2021-07-19 13:34:45 +08:00
pca006132 f51603f6da cleanup 2021-07-19 09:52:25 +08:00
pca006132 d67407716c function unification... 2021-07-16 15:55:52 +08:00
pca006132 f4121b570d added documentation 2021-07-16 14:34:52 +08:00
pca006132 8b078dfa1b naming 2021-07-16 13:59:08 +08:00
pca006132 62736bd4bf cleanup: we don't actually need arena 2021-07-16 13:58:02 +08:00
pca006132 c2d00aa762 occur check 2021-07-15 16:51:55 +08:00
pca006132 d94f25583b added tests 2021-07-15 16:00:23 +08:00
pca006132 1df3f4e757 most of unification... 2021-07-14 17:20:12 +08:00
pca006132 97fe450a0b occur check 2021-07-14 16:40:50 +08:00
pca006132 e8c5189fce simplified code with Rc<RefCell<T>> 2021-07-14 15:58:58 +08:00
pca006132 291e642699 partial implementation 2021-07-14 15:24:00 +08:00
pca006132 e554737b68 tmp 2021-07-14 08:12:47 +08:00
pca006132 84c980fed3 type scheme instantiation 2021-06-30 17:18:56 +08:00
pca006132 2985b88351 refactor for HM style inference... 2021-06-30 16:28:18 +08:00
pca006132 52a82e8a39 updated readme 2021-06-28 17:17:08 +08:00
pca006132 eb12f6f082 updated inference_context error msg 2021-06-28 16:36:24 +08:00
pca006132 f43e225845 updated inference_context rules 2021-06-28 16:32:46 +08:00
pca006132 e72d96f165 added location information for diagnostics 2021-06-28 15:05:05 +08:00
pca006132 ed04cef431 added symbol resolver... 2021-06-28 14:48:04 +08:00
pca006132 7c9919256c begin refactoring 2021-06-28 10:49:41 +08:00
pca006132 42511334f7 fixed some inference rules... 2021-06-25 16:49:58 +08:00
pca006132 5292f32835 removed method for type variables 2021-06-25 16:08:32 +08:00