It's not ready yet, but considering how much crap this took to get working... I'm done for the night. commit 0f3ee91a0628654a61d47a0c41cd3e39c801b8f9 Author: Kayne Ruse <kayneruse@gmail.com> Date: Sat Sep 28 20:27:44 2024 +1000 I have a titanic patience... but even the titanic sank commit d606e0948b78bc0614c81bbea48abf5ffd9f2194 Author: Kayne Ruse <kayneruse@gmail.com> Date: Sat Sep 28 20:03:57 2024 +1000 Terminated commit 7b3b59321d349a8e361857ee3dbe955ec27cb38c Author: Kayne Ruse <kayneruse@gmail.com> Date: Sat Sep 28 20:00:11 2024 +1000 What the hell? commit 36104b7b5a5d5487c84ab98fec1ae69487fd1a90 Author: Kayne Ruse <kayneruse@gmail.com> Date: Sat Sep 28 19:55:28 2024 +1000 PLEASE commit 0de373d10ad56cba228e9473509a527bf7a3208d Author: Kayne Ruse <kayneruse@gmail.com> Date: Sat Sep 28 19:31:28 2024 +1000 Remember to commit the file! commit 1cb5780e2dc281ecc723b4042cd9ee1f9a3115ab Author: Kayne Ruse <kayneruse@gmail.com> Date: Sat Sep 28 19:24:32 2024 +1000 Please be correct commit 2235d716c1d872db3744905fbd2305e65f96361a Author: Kayne Ruse <kayneruse@gmail.com> Date: Sat Sep 28 18:58:00 2024 +1000 Nearly there commit eabe49130cfdbe93cc3a2056819e267f97304cf1 Author: Kayne Ruse <kayneruse@gmail.com> Date: Sat Sep 28 18:51:04 2024 +1000 Oh green world, don't desert me now commit f0127e2d4947ce47284f2ec72f41a5b6a62121b8 Author: Kayne Ruse <kayneruse@gmail.com> Date: Sat Sep 28 18:42:50 2024 +1000 I'm on a highway to hell... commit f96c0f51a48b080d11d15947940d678ae4f88024 Author: Kayne Ruse <kayneruse@gmail.com> Date: Sat Sep 28 18:41:01 2024 +1000 OK, so there's a lot of security there. commit af3645893a744b7cfa2638bf607373565b8e6ef9 Author: Kayne Ruse <kayneruse@gmail.com> Date: Sat Sep 28 18:33:51 2024 +1000 I'm going to steal the declaration of independence commit e71e1c1b4243e89a580d8b04b4d236ea66ded78c Author: Kayne Ruse <kayneruse@gmail.com> Date: Sat Sep 28 18:27:11 2024 +1000 Show me the money! commit f29ba6eb96c31e9bbcf23b6ece137381f5be4050 Author: Kayne Ruse <kayneruse@gmail.com> Date: Sat Sep 28 18:12:23 2024 +1000 Say hello to my little friend! commit 3a5ee93884b1169abae48923161d7b47b8a45cdd Author: Kayne Ruse <kayneruse@gmail.com> Date: Sat Sep 28 18:06:59 2024 +1000 You had me at hello commit 2901d92f24082173e7119a37baa12a6e968796c8 Author: Kayne Ruse <kayneruse@gmail.com> Date: Sat Sep 28 18:02:49 2024 +1000 You and your little dog too! commit 967194e0593233e17ea7737647dc8042ee3bf0aa Author: Kayne Ruse <kayneruse@gmail.com> Date: Sat Sep 28 17:52:13 2024 +1000 I'll get you my pretty! commit ad48a7aec8ba7ab9e11d23104cd171169cc5ff45 Author: Kayne Ruse <kayneruse@gmail.com> Date: Sat Sep 28 17:50:14 2024 +1000 Do you feel lucky, punk? commit 13fa5c1e96fc7c64f71009f705b8bd69b8dfabf2 Author: Kayne Ruse <kayneruse@gmail.com> Date: Sat Sep 28 17:48:04 2024 +1000 Frankly my dear, I don't give a damn commit 2f15a5a7a71c22bd3f34f619887137c7cd09001b Author: Kayne Ruse <kayneruse@gmail.com> Date: Sat Sep 28 17:20:06 2024 +1000 One of us, one of us, one of us! commit e696d15ea62cb5d965638e04e6f0458b19cf9e28 Author: Kayne Ruse <kayneruse@gmail.com> Date: Sat Sep 28 17:16:04 2024 +1000 Why did it have to be snakes? commit 90631eda6263c30b0643007fc2c7a84e5e08826d Author: Kayne Ruse <kayneruse@gmail.com> Date: Sat Sep 28 17:07:11 2024 +1000 No, I am your father! commit 22e1d61caac3d37ce7fe9fc41bc3b60949fe5a81 Author: Kayne Ruse <kayneruse@gmail.com> Date: Sat Sep 28 17:00:18 2024 +1000 I'm sorry Dave, I can't let you do that commit 9aa17b8b04eb65c6c9bf8b015458f749db97494d Author: Kayne Ruse <kayneruse@gmail.com> Date: Sat Sep 28 16:57:24 2024 +1000 LIVE, DARN YOU, LIVE! commit 1b7f0704d9a2744f10377384ff5f36ea7f61c2da Author: Kayne Ruse <kayneruse@gmail.com> Date: Sat Sep 28 16:52:58 2024 +1000 That's a whole lotta nothing commit fd4001a9eb557afb3d6cbe409c72f7416b08db60 Author: Kayne Ruse <kayneruse@gmail.com> Date: Sat Sep 28 16:44:34 2024 +1000 Here goes nothing commit 7ba09ef0acda2fede952a912a8a1849e9b6c59b7 Author: Kayne Ruse <kayneruse@gmail.com> Date: Sat Sep 28 16:40:28 2024 +1000 Oh, this is gonna be fun, trying to build on a machine I don't even have commit 1155054552ef46ceb4c21117e35f8e5e46b26dbe Author: Kayne Ruse <kayneruse@gmail.com> Date: Sat Sep 28 16:34:06 2024 +1000 There is no repl-gdb in Ba Sing Se commit 5361a31da1d9278972dcbe3c8a0ad59ea6e2ab41 Author: Kayne Ruse <kayneruse@gmail.com> Date: Sat Sep 28 16:31:05 2024 +1000 Changed -R to -rpath commit de982ce2846dd6ffe316648e32a8a04b9d7f242d Author: Kayne Ruse <kayneruse@gmail.com> Date: Sat Sep 28 16:27:14 2024 +1000 Fixed printf() string literal commit 5ddec42af5b46a0c25f64b088a4992433e5a4116 Author: Kayne Ruse <kayneruse@gmail.com> Date: Sat Sep 28 16:24:05 2024 +1000 Workflow experiment commit 28570940b8758fc7f05c957055580e4286a887af Author: Kayne Ruse <kayneruse@gmail.com> Date: Sat Sep 28 16:10:19 2024 +1000 Fixed workflow for macos
For the feature complete version 1, click here.
Toy v2.x
The Toy programming language is an imperative, bytecode-interpreted, embeddable scripting language. Rather than functioning independently, it serves as part of another program, the "host". This design allows for straightforward customization by both the host’s developer and end users, achieved by exposing program logic through text files.
This repository holds the reference implementation for Toy version 2.x, written in C.
Nifty Features
- Simple C-like syntax
- Intermediate AST and bytecode
- Strong, but optional type system
- First-class and higher-order functions
- Extensible via external libraries
- Can re-direct output, error and assertion failure messages
- Open source under the zlib license
Syntax
Omitted for review.
Building
Omitted for review.
Tools
Omitted for review.
License
This source code is covered by the zlib license (see LICENSE).
Past and Current Contributors
@hiperiondev - Disassembler, porting support and feedback
@add00 - Library support
@gruelingpine185 - Unofficial MacOS support
@solar-mist - Minor bugfixes
Unnamed Individuals - Feedback
Patrons via Patreon
- Seth A. Robinson
Special thanks to Robert Nystrom of http://craftinginterpreters.com/ for their fantastic book that set me on this path.
