Giter Site home page Giter Site logo

gomi-lang's Introduction

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.

gomi-lang's People

Contributors

david-allan-jones avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.