Awesome
<p align="center"><img src="misc/logo.png" height="150px"></p> <pre align="center"> <code> ▄████████ ▄████████ ███▄▄▄▄ ▄████████ ▄██████▄ ▄████████ ▄█ ███ ███ ███ ███ ███▀▀▀██▄ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ █▀ ███ ███ ███ █▀ ███ █▀ ███ ███ ███ ███ ▄███▄▄▄ ███ ███ ▄███▄▄▄ ▄███ ███ ███ ███ ▀███████████ ▀▀███▀▀▀ ███ ███ ▀▀███▀▀▀ ▀▀███ ████▄ ▀███████████ ███ ███ ███ █▄ ███ ███ ███ █▄ ███ ███ ███ ███ ███ ▄█ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███▌ ▄ ▄████████▀ ██████████ ▀█ █▀ ██████████ ████████▀ ███ █▀ █████▄▄██ ▀ </code> </pre>Senegal is a powerful, small-but-fast, concurrent, class-based, and dynamically-typed programming language with a modern syntax.
Sample Senegal Program
class Senegal {
var name;
Senegal(name) {
this.name = name;
}
function talk(msg) {
println(this.name + " says: " + msg);
}
}
var mel = Senegal("Mel");
mel.talk("Hello world!"); // Mel says: Hello World
Features
- Fast single-pass compiler
- Dynamically typed
- Coroutines
Get Started
Have I piqued your interest? Great! Head over to our docs to get started.
Setup
Clone the repo:
git clone https://github.com/SenegalLang/Senegal.git
Add the bin folder within senegal's root directory to your PATH.
Windows
- Press the Windows key, then search for and select "System (Control Panel)".
- Click "Advanced system settings".
- Click "Environment Variables".
- Under "System Variables", find the
PATH
variable, select it, and click "Edit". - Add directory. For example, if the value was
C:\Windows\System32
, change it topath-to-senegal-bin;C:\Windows\System32
. - Click "OK".
- Restart your terminal.
Mac OS X
- Open the
.bash_profile
file in your home directory (for example,/Users/your-user-name/.bash_profile
) in a text editor. - Add
export PATH="path-to-senegal-bin:$PATH"
to the last line of the file. - Save the
.bash_profile
file. - Restart your terminal.
Linux
- Open the
.bashrc
file in your home directory (for example,/home/your-user-name/.bashrc
) in a text editor. - Add
export PATH="path-to-senegal-bin:$PATH"
to the last line of the file, where your-dir is the directory you want to add. - Save the
.bashrc
file. - Restart your terminal.
Contributing
Feel free to join in and help out with Senegal. You can start by
- Joining the discord - https://discord.gg/9dq6YB2
- and reading the style guide - https://lang-senegal.web.app/docs/Contribute/style
Documentation
The documentation is still a work in progress, but you can find it at: https://lang-senegal.web.app/