Commit Graph

69 Commits

Author SHA1 Message Date
3f90b46dc8 Include stdlib in executable 2025-07-14 22:33:04 +03:00
fa4df50a04 Fix linking so that non-imported functions don't bother main-module 2025-07-14 22:22:55 +03:00
848347e4a8 Add importer pass, make importer import module properly 2025-07-14 20:35:58 +03:00
a71843dfe9 Implement import-pass 2025-07-14 20:13:30 +03:00
464156b2dc Fix imports in MIR 2025-07-14 19:20:38 +03:00
b82cbcb45c Fix function call not faulting on undefined function 2025-07-14 19:02:21 +03:00
7a2a965cd7 Fix functions being in their own scopes 2025-07-14 18:49:51 +03:00
735c4370aa Add pub keyword 2025-07-14 18:47:02 +03:00
4eaa365674 Add function flags and codegen extern functions 2025-07-14 18:26:57 +03:00
376baa2c9a Remove length param from string, use string pointers instead 2025-07-14 18:22:05 +03:00
83475b144c Codegen strings 2025-07-14 17:54:56 +03:00
73a3b15fb6 Add AST -> MIR for strings 2025-07-14 17:45:36 +03:00
b64cdc4c71 Fix if-statement block return type evaluation 2025-07-14 17:17:48 +03:00
bad4713779 Fix index out of bounds off-by-one error 2025-07-14 02:31:01 +03:00
1b9f3dbca0 Fix warnings 2025-07-14 02:26:55 +03:00
d2587df4c9 Add mutability to arrays 2025-07-13 23:58:56 +03:00
d99c450e61 Fix some warnings 2025-07-13 23:14:51 +03:00
cbb1be1161 Implement GEP instead of the weird thing before 2025-07-13 23:14:16 +03:00
515c031f19 Finish type checking and inferrence for arrays 2025-07-13 20:15:03 +03:00
b14a62bc34 Add typechecking for arrays 2025-07-13 19:39:43 +03:00
4f8153643b Perform type inference for array and indexing expressions 2025-07-13 19:26:20 +03:00
64f07002b4 Update how array is displayed when printed 2025-07-13 19:07:31 +03:00
a18a5b4199 Continue progress, make set-statements as todos for later 2025-07-13 19:00:46 +03:00
10cf9341c5 Add return type for index and array expressions 2025-07-13 18:41:14 +03:00
ad20fefabc Add Array Expression to MIR 2025-07-13 18:37:18 +03:00
587ab8afd5 Make mir array implementation halfway, compiling but not working yet 2025-07-13 18:32:27 +03:00
4e8228f903 Move binop type resolution to common implementation 2025-07-13 17:05:23 +03:00
a8ed7577a8 Move type checking properly to the typecheck-stage 2025-07-13 16:31:35 +03:00
92736e392e Refactor Type Hints -> Type Refs 2025-07-13 15:58:19 +03:00
f3f47831e9 Split type inference to it's very own pass 2025-07-13 15:55:14 +03:00
7d77e1df32 rename ScopeHint to TypeHint 2025-07-13 15:27:28 +03:00
0d631bfa89 Remove redundant TypeRef, add other optimizations 2025-07-13 15:26:36 +03:00
29e78cf1aa update errors 2025-07-13 13:58:31 +03:00
e79a0fe458 Update where default value is calculated, fix load type 2025-07-12 23:59:16 +03:00
edb2784f4a Remove unused while-loop 2025-07-12 23:40:49 +03:00
51c341450b Fix warnings 2025-07-12 23:37:24 +03:00
557d5f9722 Finish second phase of typechecking, resolve hinted values 2025-07-12 23:35:35 +03:00
61ab5002e4 Split typechecking into two passes, finish first pass 2025-07-12 22:59:23 +03:00
873948a0c4 Move scopehints to own file 2025-07-12 18:40:26 +03:00
be7fa71b53 Add ScopeHints tentatively 2025-07-12 15:32:29 +03:00
04e0c136df Fix warnings 2025-07-12 14:42:43 +03:00
0f424c70d7 Implement mutability part 2 2025-07-12 14:37:10 +03:00
14e0dcbe15 (broken) add part 1 of mutability 2025-07-12 02:38:31 +03:00
615fec6e52 Add TODO, remove TODOs 2025-07-09 22:44:33 +03:00
d04a70e464 Remove unused variable 2025-07-09 22:33:56 +03:00
383302c1c2 Fix old fibonacci not working due to last change 2025-07-09 22:32:47 +03:00
b19a32cd8a Make early returns work even without an explicit return 2025-07-09 22:20:08 +03:00
d757ac4eb3 Fiddle around with if-expression codegen 2025-07-09 21:12:39 +03:00
a907fec967 Fix module docs 2025-07-09 20:07:30 +03:00
9710d17e00 Add a bunch of documentation 2025-07-09 20:01:24 +03:00