Skip to content

Latest commit

 

History

History
243 lines (182 loc) · 8.33 KB

README.md

File metadata and controls

243 lines (182 loc) · 8.33 KB

Contributors Forks Stargazers Issues GPL-3.0 License


Logo

Gecko

A programming language designed for writing low level and highly performant applications using a beginner friendly syntax.
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

Gecko is a programming language that is designed to be very easy to get started with using very familiar syntax an features with the aim of making systems programming very easy to get into, similar to the experience of getting started with Rust or Zig.

(back to top)

Getting Started

Prerequisites

Install go>=1.20

Installation

  1. Clone the repo
    git clone https://github.com/neutrino2211/gecko.git
  2. Install Go packages
    cd gecko && go get
  3. Test run the program to make sure it is working
    go run .

(back to top)

Usage

You can write your own programs or run those already in the test_sources/compile_tests folder, code in test_sources/kitchen_sink is just conceptual and should not compile properly if it compiles at all.

(back to top)

Roadmap

  • Compile a single file
    • Variables
    • Primitive types
    • Function calls
    • Return values from function calls
    • Arrays
    • Control flow
    • Casting
  • Imports
  • Traits
  • Type checking
  • Memory management
  • ...more I probably haven't thought of yet

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the GPL-3.0 License. See LICENSE for more information.

(back to top)

Contact

Tsowa Mainasara - @neutrino2211 - [email protected]

Project Link: https://github.com/neutrino2211/gecko

(back to top)

Acknowledgments

(back to top)