Commit Graph

319 Commits

Author SHA1 Message Date
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 03a8abc5dd Merge pull request 'Closures, Higher-Order Functions, and Everything in Between' (#44) from kym-captures into main
continuous-integration/drone/push Build is passing Details
Reviewed-on: #44
2023-11-05 16:52:51 +01: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 6ea44f552e Merge pull request 'Rewrite Ona Script implementation' (#43) from kym-rewrite into main
continuous-integration/drone/push Build is passing Details
Reviewed-on: #43
2023-10-29 22:51:51 +01: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 a0554d0d2e Merge pull request 'Add Function Literal Syntax to Ona Script' (#39) from kym-functions into main
continuous-integration/drone/push Build is passing Details
Reviewed-on: #39
2023-09-02 21:15:27 +02: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 0e26b8acde Merge pull request 'Make Local Declarations Explicit' (#38) from kym-explicit-local-declarations into main
continuous-integration/drone/push Build is passing Details
Reviewed-on: #38
2023-08-26 01:14:02 +02: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 1e3f676698 Merge pull request 'Implement Control Flow Statements in Kym' (#37) from kym-control-flow into main
continuous-integration/drone/push Build is passing Details
Reviewed-on: #37
2023-08-26 00:01:24 +02: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 a1d35bf67c Merge pull request 'Implement vector swizzling in Kym' (#36) from kym-vector-swizzling into main
continuous-integration/drone/push Build is passing Details
Reviewed-on: #36
2023-08-20 03:37:55 +02: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 d2490bc90d Merge pull request 'Add Vector Types to Ona Script' (#34) from kym-vector-types into main
continuous-integration/drone/push Build is passing Details
Reviewed-on: #34
2023-08-13 15:39:39 +02: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 3fecb795e9 Merge pull request 'Replace System Objects with Builtins and Syscalls' (#33) from kym-builtins into main
continuous-integration/drone/push Build is passing Details
Reviewed-on: #33
2023-08-13 02:35:25 +02: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 cb961ea573 Merge pull request 'Dynamic Object Indexing for Kym' (#31) from kym-dynamic-indexing into main
continuous-integration/drone/push Build is passing Details
Reviewed-on: #31
2023-08-12 16:15:50 +02: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
kayomn 415dff46b7 Merge pull request 'kym-tables-overhaul' (#30) from kym-tables-overhaul into main
continuous-integration/drone/push Build is passing Details
Reviewed-on: #30
2023-08-12 15:20:17 +02:00
kayomn b012e1e5f6 Re-implement native function binding / calling
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-08-12 14:11:19 +01:00
kayomn bc3b9051dd Integrate Kym table directly into Kym VM code
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2023-08-12 13:14:00 +01:00
kayomn 1f9df3fc1d Refactor and clean up virtual machine 2023-08-12 12:57:50 +01:00
kayomn 1f8f3fd9dc Consolidate syscalls and calls into new expressions tree
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2023-07-31 02:29:50 +01:00
kayomn 4ee0bcab67 Fix incorrect stack popping order in set_dynamic opcode 2023-07-31 00:30:44 +01:00