Skip to content

amukh1/snowball

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

749 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Snowball 🐈

Snowball is a low-weight, statically typed, object oriented programming language with garbage collector and module system.
Explore the docs Β»

Website Β· Report Bug Β· Request Feature


About The Project

πŸ‘‹ Greetings! Allow me to introduce you to Snowball, a statically-typed, low-weight, object-oriented programming language complete with a garbage collector and module system.

πŸš€ With a myriad of features to offer, Snowball boasts object-oriented programming, memory safety, built-in functions for enhanced productivity, and faster execution than other languages. Plus, its garbage collector and unit testing make it a comprehensive tool for developers.

πŸ” So why not dive in and explore Snowball's capabilities? For more information, check out the installation guide. Happy coding!

Getting Started with Snowball

Installation

Before we get started, you'll need to have snowball installed into your compuiter. Linux and macOS users, you are in luck! You can use this simple command to download snowball and get started.

curl -fsSL https://raw.githubusercontent.com/snowball-lang/snowball/dev/scripts/install.sh | sudo -E bash -s -- -y

Instalation from source (unix)

git clone https://github.com/snowball-lang/snowball
cd snowball

# INSTALL REQUIRED DEPENDENCIES
sh ./build_scripts/install_deps.sh

sh ./build_scripts/release.sh
sudo make install -j100

note: We use -j100 to create 100 threads to make the compilation faster. This will make your computer slower, it can be removed.

Writing Your First Snowball Program

First, you will need a new snowball project. For that, create a new directory and execute the following command:

mkdir myProject
cd myProject

snowball init

Executing snowball code

In order to execute snowball code, you can run the following command to build and run the program:

snowball run

How does snowball feel?

Here is an example of a class in snowball.

import Core::System;

public func main() i32 {
    System::println("Hello, world! 🐱");
}

Roadmap

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

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

License

Distributed under the MIT License. See LICENSE for more information.

Links

Follow this links and tell us your thoughts, ask questions and be part of the Snowball community!

About

[WIP] 🐱 Snowball is a low-weight, statically typed, object oriented programming language.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors