Skip to content

A toy scripting language that can be written in both English and Japanese.

Notifications You must be signed in to change notification settings

david-allan-jones/gomi-lang

Repository files navigation

Gomi (ゴミ)

Disclaimer: This language was created merely as a hobby and learning exercise for myself. It should NOT be used for any production applications.

Welcome to Gomi (ゴミ), a programming language for those who like Japanese and scripting languages. I wrote this initial implementation in TypeScript because who cares about performance? I sure don't! Well, I cared enough to use Bun as the recommended runtime at least.

To install dependencies:

bun install

What's Here

REPL

Within these walls you will find a few things to play around. The first and most important thing for a beginner is the language REPL. You can start it up by running

bun run repl.ts

There are also REPLs that just output the results of the lexing and parsing steps if you are curious. These can found by running repl-lexer.ts and repl-parser.ts respectively.

Script Runner

The index.ts file of this package is a script runner. You can have the interpreter evalate an arbitrary input source by running

bun index.ts path_to_file.gomi

This file can also be built in Bun into a native binary for improved performance if needed.

Documentation

  1. Expressions
  2. Variable Declaration
  3. Functions
  4. Control Flow
  5. Arrays & Objects
  6. Runtime Functions
  7. Module Imports
  8. Grammar
  9. Japanese Aliases
  10. Contributions

Special Thanks

I would like to dedicate this section to everyone who has been a huge help in furthering my own understanding of language design.

Contact

If you like to contact me, please reach out to me through my website.

About

A toy scripting language that can be written in both English and Japanese.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published