Commit Graph

288 Commits

Author SHA1 Message Date
Krzosa Karol
35daeade20 Trying to change untyped to typed in the typechecking phase 2022-06-22 13:16:49 +02:00
Krzosa Karol
40557b083b Fix return type checking bug due to tuples potentially having untyped types. Also working on down typing untyped. 2022-06-22 11:18:00 +02:00
Krzosa Karol
de159fc7d9 Prepare before typing the untyped 2022-06-22 10:07:23 +02:00
Krzosa Karol
a229891485 Storing a global variable 2022-06-21 23:45:07 +02:00
Krzosa Karol
eee9e24cfc Reworking VM into infinite stack machine 2022-06-21 23:13:07 +02:00
Krzosa Karol
2c3a8dc764 Begin to codegen bytecode instructions 2022-06-21 15:49:39 +02:00
Krzosa Karol
6ed17a3c1c Comprehensive execution logging 2022-06-21 14:29:15 +02:00
Krzosa Karol
2cb9dbdb0c Delete generated 2022-06-21 14:08:22 +02:00
Krzosa Karol
80fb582854 Logging 2022-06-21 14:02:54 +02:00
Krzosa Karol
3f384a60ec Adding debug logging to interpreter 2022-06-21 13:35:20 +02:00
Krzosa Karol
a2b06d23d5 Switching to register based VM 2022-06-21 13:05:11 +02:00
Krzosa Karol
101970f62e Rewrite VM, only capable to work on 64bit arithmetic 2022-06-20 22:14:46 +02:00
Krzosa Karol
fd66781afb Arithmetic ops and pushes for all types 2022-06-20 20:14:34 +02:00
Krzosa Karol
5a8f36b16a Bytecode interpreter init 2022-06-20 19:27:22 +02:00
Krzosa Karol
9f7d51ff02 Initially was working on vargs but we need a new algorithm to match lambda call arguments 2022-06-20 16:23:35 +02:00
Krzosa Karol
9700742515 Basic type safe print 2022-06-20 10:27:27 +02:00
Krzosa Karol
99b0ba2673 Working on Any arrays and vargs 2022-06-20 10:02:23 +02:00
Krzosa Karol
4e288dcfab Cleaning up parsing / typechecking of calls slightly, adding any vargs 2022-06-20 09:28:38 +02:00
Krzosa Karol
aa5741203f For loop iterate through arrays and slices 2022-06-19 22:31:59 +02:00
Krzosa Karol
367562f0a8 Working on slices, arrays and any types 2022-06-19 20:42:45 +02:00
Krzosa Karol
1a0354213e Delete old scoping code, working on any types 2022-06-19 20:08:13 +02:00
Krzosa Karol
02743c86d8 Rewriting types into ints at typechecking phase 2022-06-19 16:01:58 +02:00
Krzosa Karol
69fe514485 Any test 2022-06-19 15:28:27 +02:00
Krzosa Karol
79edfae55b Lot's of work on Any and Type 2022-06-19 15:28:18 +02:00
Krzosa Karol
014ef07b9f Any type initially working 2022-06-19 12:34:05 +02:00
Krzosa Karol
ade2638255 Better support for Type types, squashing bugs due to pointer confusion etc. 2022-06-19 10:18:57 +02:00
Krzosa Karol
94b820a071 Add switch case statement 2022-06-19 09:31:16 +02:00
Krzosa Karol
fc0d4345ee Working on type operations and type infos 2022-06-19 00:05:22 +02:00
Krzosa Karol
9d2ce3560b Type as value initially working 2022-06-18 23:49:47 +02:00
Krzosa Karol
523760dc0a get_type_info 2022-06-18 23:39:46 +02:00
Krzosa Karol
071a8de6a4 Compiling with Type_Info 2022-06-18 23:32:34 +02:00
Krzosa Karol
c85fa02750 Add a language.kl module which should contain builtin stuff 2022-06-18 19:42:59 +02:00
Krzosa Karol
649f37cb1b Generating comprehensive type infos 2022-06-18 16:24:54 +02:00
Krzosa Karol
e63dc0322a Foreign variables, exporting some of the info to the c program, compile errors though 2022-06-18 16:01:05 +02:00
Krzosa Karol
0ed4f62557 Fix #strict regression, adding Any and Type_Info 2022-06-18 15:24:54 +02:00
Krzosa Karol
8ead876d90 Before adding Any type 2022-06-18 14:38:53 +02:00
Krzosa Karol
499faac256 Add error messages when file not found + error position 2022-06-18 09:58:48 +02:00
Krzosa Karol
3ba8bd08fb Stage arena is not a sub 2022-06-18 09:53:40 +02:00
Krzosa Karol
28f89def4b Fixing printing / memory issues, Add stage arena, printing types in errors properly 2022-06-18 09:50:34 +02:00
Krzosa Karol
f876b69779 Change precedence of casts 2022-06-18 09:21:33 +02:00
Krzosa Karol
012d7fb6ad Restructure os code 2022-06-17 17:00:48 +02:00
Krzosa Karol
871ff65ec2 Working on code in language, fixing bugs 2022-06-17 17:00:34 +02:00
Krzosa Karol
5b55852619 Delete old type tests 2022-06-17 11:55:24 +02:00
Krzosa Karol
bbe3ca8bf4 Delete int128 2022-06-17 11:54:43 +02:00
Krzosa Karol
8f1d400b57 Work on unicode 2022-06-17 11:53:36 +02:00
Krzosa Karol
a77f0ee8fe Fix struct function ordering in c files 2022-06-17 11:46:05 +02:00
Krzosa Karol
218ca7266a Add routine for getting proper typename 2022-06-17 10:58:12 +02:00
Krzosa Karol
ae62b6933e fixing compiler bugs 2022-06-17 10:35:05 +02:00
Krzosa Karol
6696fd80f0 Base test 2022-06-17 09:16:45 +02:00
Krzosa Karol
ed017c79a5 void pointer duck typing 2022-06-17 09:16:33 +02:00