Commit Graph

198 Commits

Author SHA1 Message Date
kayomn e9a28f074c Fix add squaring on floats instead 2023-11-16 19:02:30 +00:00
kayomn 9cf2e671d3 Implement initial update loop for canvas usage in scripts 2023-11-16 00:34:28 +00:00
kayomn 70746b4680 Unify calling interface for object accesses in Kym
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-11-12 20:12:04 +00:00
kayomn b0aa7166f9 Fill in missing documentation for Kym 2023-11-12 20:02:47 +00:00
kayomn dbba822c7a Add linear algebra utils for future graphics stuff 2023-11-12 18:55:16 +00:00
kayomn e5c18e4a14 Refactor Kym
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-11-12 13:09:30 +00:00
kayomn c30f10db96 Implement string interpolation
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-11-07 23:22:25 +00:00
kayomn 63792ea983 Make tokenization aware of string templates 2023-11-07 23:06:11 +00:00
kayomn 94a13b0d3c Fix compilation errors with Stack list 2023-11-07 23:02:49 +00:00
kayomn b28b1a86c9 Fix double free and boxing bugs in VM
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-11-06 22:27:09 +00:00
kayomn eb9552c390 Merge compiler into Chunk.zig
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-11-06 20:53:24 +00:00
kayomn 83680607b7 Fix arity check error message formatting 2023-11-06 20:16:22 +00:00
kayomn 19e1fb2634 Streamline arity detection
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-11-05 23:46:07 +00:00
kayomn 75ddf3f2bb Add line numbers to stack traces
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-11-05 22:46:24 +00:00
kayomn 00631e66a5 Make named lambdas report their names in errors
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-11-05 16:24:06 +00:00
kayomn fd15903260 Fix recursive to_string calls
continuous-integration/drone/push Build is passing Details
2023-11-05 16:18:36 +00:00
kayomn 8b0182f03c add dynamic to_string support to dynamic object typeinfo 2023-11-05 16:06:26 +00:00
kayomn 816051f066 Amend code review
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-11-05 15:51:25 +00:00
kayomn c86173d759 Fix bugs with n+1-nested closures
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-11-05 12:25:16 +00:00
kayomn 88ff2a64b6 Make arguments read-only
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-11-04 13:41:39 +00:00
kayomn 880761a722 Implement closures 2023-11-04 11:30:45 +00:00
kayomn 0965779e83 Rewrite Ona Script implementation
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-10-29 21:48:21 +00:00
kayomn 2f4cab3cc7 Rewrite stacking arena allocator to be correct 2023-10-29 21:44:02 +00:00
kayomn 523509d300 Hotfix for miscompilation in lambdas that return lambdas
continuous-integration/drone/push Build is passing Details
2023-09-03 02:19:33 +01:00
kayomn 9eef1074f9 Simply Kym function argument retrieval in VM
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-30 20:58:06 +01:00
kayomn c071ca82aa Fix empty strings being parsed incorrectly
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-26 21:36:16 +01:00
kayomn 5c08a1b63e Add lambda argument arity checking to runtime
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-08-26 21:30:36 +01:00
kayomn b9f03b34c1 Add argument resolving to functions
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-26 17:00:55 +01:00
kayomn f5ed4bbcad Add support for basic lambda syntax 2023-08-26 16:00:17 +01:00
kayomn 960d022d03 Add read-only storage class for locals
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-26 00:11:37 +01:00
kayomn 83fa162ba8 Make local declarations require "var" prefix
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-25 23:40:17 +01:00
kayomn 77af4d067b Fix > and == operators being miscompiled
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-25 22:57:33 +01:00
kayomn c4916a4195 Clean up statement AST generation logic 2023-08-25 22:45:48 +01:00
kayomn 08a63489b0 Add if / else 2023-08-24 23:45:29 +01:00
kayomn bb1e689c5a Add while loops
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-22 23:49:23 +01:00
kayomn eca2cfffb8 Fix off-by-one if statement jump error
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-08-21 23:51:49 +01:00
kayomn 56d9899ac2 Work around miscompilation 2023-08-21 12:27:02 +01:00
kayomn 0d6e5250c7 Refactor Kym AST
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-20 22:25:38 +01:00
kayomn 2d016dc085 Implement if statements in AST and jumps in the VM
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-20 17:41:57 +01:00
kayomn d53bf188cf Implement vector swizzling in Kym
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-20 02:35:53 +01:00
kayomn af7483db13 Remove dead code changes
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-13 14:38:21 +01:00
kayomn 016165b6a6 Replace dedicated vector literal syntax builtins
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-13 14:27:03 +01:00
kayomn 0fbdc001d4 Add parser support for vector literals
continuous-integration/drone/push Build is passing Details
2023-08-13 13:54:31 +01:00
kayomn 919d32e714 Add vector primitive object to Kym 2023-08-13 02:03:43 +01:00
kayomn 8e42aa57fd Move builtin decoding responsibility to compiler
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-13 01:34:32 +01:00
kayomn 9a0a594345 Make Kym env options optional 2023-08-13 01:27:13 +01:00
kayomn 429f7a52ad Replace system objects with builtins and syscalls
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-13 01:14:08 +01:00
kayomn 66df9e3a1e Add support for subscript operations on objects
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-08-12 15:10:46 +01:00
kayomn 6c0e3477c2 Separate get-extension functions from Kym env. 2023-08-12 14:53:27 +01:00
kayomn 931d1fe6ed Add parser support for keys and indices 2023-08-12 14:51:47 +01:00