An esoteric programming language
Find a file
2026-06-13 19:15:12 +07:00
examples Impl arrays 2026-01-05 15:05:27 +07:00
src Impl arrays 2026-01-05 15:05:27 +07:00
tests Impl reckons and booleans. Improve tests 2025-12-31 18:52:26 +03:00
.gitignore First blood 2025-12-30 14:42:48 +03:00
build.zig Add tests 2025-12-30 20:53:11 +03:00
build.zig.zon First blood 2025-12-30 14:42:48 +03:00
LICENSE Initial commit 2025-12-19 11:50:43 +07:00
README.md Add the hosting tip 2026-06-13 19:15:12 +07:00

Tip

Hosted on Forgejo and mirrored on GitLab for people without local accounts. Issues and MRs are welcome everywhere. Visit https://lovie.dev/code for more info.

Yap

An esoteric event driven programming language.

Running

Compile:

$ zig build --release=fast

Run:

$ ./zig-out/bin/yap examples/00-hello-world.yap
Hello, world!

Compile and run:

$ ./zig-out/bin/yap build examples/00-hello-world.yap

$ ./zig-out/bin/yap examples/00-hello-world.yapc
Hello, world!

Check out examples.

Have fun!

Backstory

I wanted to make a gimmicky language but was too lazy to implement loops. So I made an event queue and throw pushes event to the queue and terminates current event. When the runtime reaches the end of the file, it runs the next thing off of the queue.

Syntax

Expressions

  • VAR be VALUE - Assign
  • yap VALUE|VAR - Print
  • VALUE|VAR reckons VALUE|VAR - Compare
  • peek VALUE|VAR pls CODE thx - If statement
  • peek VALUE|VAR pls CODE nah CODE thx - If statement with an else branch.
  • throw VALUE - Push an event to the event queue.

Values

  • Yeah - True
  • Nope - False or None

Logic

  • flip VALUE|VAR - Not
  • y VALUE|VAR - And
  • either VALUE|VAR - Or
  • neither VALUE|VAR - Xor
  • VALUE|VAR add VALUE|VAR - Addition
  • VALUE|VAR sub VALUE|VAR - Subtraction
  • VALUE|VAR mul VALUE|VAR - Multiplication
  • VALUE|VAR dib VALUE|VAR - Division
  • VALUE|VAR pow VALUE|VAR - Power
  • VALUE|VAR smaller VALUE|VAR - Less than
  • VALUE|VAR bigger VALUE|VAR - More than

Magic Vars

  • e | event - Current event