Commit Graph

121 Commits

Author SHA1 Message Date
prod2 960be5f0dd split up compiler into multiple files 2022-02-08 05:41:05 +01:00
prod2 954d1e6de4 expand natives 2022-02-07 06:03:47 +01:00
prod2 9dc429c92d natives 2022-02-07 05:35:07 +01:00
prod2 d5479a0be7 closures work - test passes now 2022-02-06 10:04:49 +01:00
prod2 85aa396054 WIP on closures: single layer closures work, nested closures still broken 2022-02-06 07:35:00 +01:00
prod2 392955e290 WIP closures: unclosed upvalues work; improved vm debugging and changed $ for functions, closures 2022-02-06 04:59:39 +01:00
prod2 f453de631d wip closures: dedupliacation of upvalue references 2022-02-06 04:21:32 +01:00
prod2 086c6e3c2e WIP closures, fix compiler bug 2022-02-06 03:49:36 +01:00
prod2 2f790067f3 optimization: inline some things that were procs 2022-02-06 02:46:26 +01:00
prod2 62995df504 fix string concat 2022-02-06 01:02:22 +01:00
prod2 c04d520561 expand closures test 2022-02-05 12:56:07 +01:00
prod2 9b3b1056ba WIP closures + important bugfix 2022-02-05 12:37:54 +01:00
prod2 3e48b1cc52 WIP closures 2022-02-05 12:30:07 +01:00
prod2 0c4a6553ff factorial benchmark 2022-02-05 06:10:37 +01:00
prod2 af2f639ccc new benchmark, constant reuse (to better fit in the constant limit) 2022-02-05 05:52:45 +01:00
prod2 05887323c0 new test, bugfix 2022-02-05 03:24:30 +01:00
prod2 9fdbb1dda6 create an nds testing tool 2022-02-05 02:45:29 +01:00
prod2 ef0775b252 don't add other lang examples that may be there locally 2022-02-03 23:28:45 +01:00
prod2 bdac4fe7fc example bf interpreter 2022-02-03 22:28:25 +01:00
prod2 0c753dcc00 update readme 2022-02-03 05:13:02 +01:00
prod2 ff9cfd9c39 nicer print output with empty lists/tables 2022-02-03 05:06:05 +01:00
prod2 2aa3a094bb update tests to match codebase 2022-02-03 05:00:09 +01:00
prod2 c065324168 should have been part of the last commit 2022-02-03 04:59:06 +01:00
prod2 20022c405a unite stringutils and ndstring 2022-02-03 04:58:34 +01:00
prod2 159f256a84 add ampersand operator, further work on lists and tables 2022-02-03 04:56:16 +01:00
prod2 0ec5bfb60a wip lists and tables 2022-02-03 03:18:11 +01:00
prod2 788ca7eec0 change ^ to :, remove automatic ^ 2022-01-29 22:47:23 +01:00
prod2 93cae977c6 fix tests 2022-01-29 22:36:07 +01:00
prod2 13da52ad24 change project structure 2022-01-29 22:33:34 +01:00
prod2 45e22d9fed expanded the break test, improved compiler error reporting. 2022-01-29 21:22:42 +01:00
prod2 2651cf3cbd bugfix 2022-01-29 21:11:20 +01:00
prod2 f665efaeed use ip rather than ii for funct 2022-01-29 20:43:13 +01:00
prod2 71a3d6ad45 fix setglobal popping 2022-01-29 07:24:58 +01:00
prod2 d7f59f5ad7 small fixes 2022-01-29 06:47:34 +01:00
prod2 3ff351100e change table to array (thx ElegantBeef) 2022-01-29 06:22:52 +01:00
prod2 6d7337e6f7 fix typo 2022-01-29 06:17:51 +01:00
prod2 a13659e44f cleanup old code in vm, free globals 2022-01-29 06:12:08 +01:00
prod2 19b8079436 small fix 2022-01-29 06:01:00 +01:00
prod2 0b41e69007 wip using custom hashtables for globals 2022-01-29 06:00:00 +01:00
prod2 31b0b28dca WIP switch to custom hashtable for globals 2022-01-29 05:38:16 +01:00
prod2 2765daa55b nan boxing 2022-01-29 05:12:33 +01:00
prod2 6961c91468 string interning 2022-01-29 04:22:21 +01:00
prod2 9d6576aaeb add efib benchmark 2022-01-29 03:29:52 +01:00
prod2 0dea4e86ec readd nim.cfg 2022-01-28 22:07:41 +01:00
prod2 ded7fd3211 hashtable implementation and test 2022-01-28 22:00:21 +01:00
prod2 8031c7720d custom string object 2022-01-28 04:17:11 +01:00
prod2 90d04f13f6 replaced seq with a custom stack object for performance 2022-01-27 18:54:02 +01:00
prod2 01de21e32e remove error type 2022-01-27 06:09:59 +01:00
prod2 6cc2406d5f made less/greater implementation consistent 2022-01-27 06:09:04 +01:00
prod2 215d1539de move arity checking to its own op 2022-01-27 05:56:09 +01:00