Kayne Ruse 82f63013d8 Squashed commit of the following:
commit 633500eeaf72e7e5aed90f3eb071f56d93e129eb
Author: Kayne Ruse <kayneruse@gmail.com>
Date:   Fri Aug 9 23:16:55 2024 +1000

    Please work...

commit 4b524a27fd1fe11e02206853b84bdfb349be5bf9
Author: Kayne Ruse <kayneruse@gmail.com>
Date:   Fri Aug 9 22:57:07 2024 +1000

    This is starting to get annoying.

commit 5e16a87f6cef7ca9eb536bcc172fd4a184c20124
Author: Kayne Ruse <kayneruse@gmail.com>
Date:   Fri Aug 9 22:38:31 2024 +1000

    Fixed workflow file

    Used this: https://rhysd.github.io/actionlint/

commit 7fd6dd610ee3e9327350859b047b0c4792e74f19
Author: Kayne Ruse <kayneruse@gmail.com>
Date:   Fri Aug 9 22:30:50 2024 +1000

    Let's try again

commit d83b42a894929f926ba5bf94dee8a2a495a4db86
Author: Kayne Ruse <kayneruse@gmail.com>
Date:   Fri Aug 9 22:27:36 2024 +1000

    Reworked the CI

    Also checked over the new code.
2024-08-09 23:22:54 +10:00
2024-08-09 23:22:54 +10:00
2024-08-09 23:22:54 +10:00
2024-05-19 03:50:57 +10:00
2024-05-19 03:50:57 +10:00
2024-05-19 03:50:57 +10:00
2024-08-09 23:22:54 +10:00
2024-05-19 03:50:57 +10:00

Toy

The Toy programming language is an imperative, bytecode-interpreted, embedded scripting language. Rather than functioning independently, it serves as part of another program, the "host". This design allows for straightforward customization by both the hosts 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 bytecode interpretation
  • Strong, but optional type system
  • First-class and higher-order functions
  • Extensible via external libraries
  • 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.

Languages
C 97.7%
Makefile 2.2%