โโโโโโโโโ โโโโโโโโโ โโโโโโโ โโโโโโโโโ โโโโโโโโ โโโโโโโโโ โโ
โโโ โโโ โโโ โโโ โโโโโโโโโ โโโ โโโ โโโ โโโ โโโ โโโ โโโ
โโโ โโ โโโ โโ โโโ โโโ โโโ โโ โโโ โโ โโโ โโโ โโโ
โโโ โโโโโโโ โโโ โโโ โโโโโโโ โโโโ โโโ โโโ โโโ
โโโโโโโโโโโโ โโโโโโโโ โโโ โโโ โโโโโโโโ โโโโโ โโโโโ โโโโโโโโโโโโ โโโ
โโโ โโโ โโ โโโ โโโ โโโ โโ โโโ โโโ โโโ โโโ โโโ
โโ โโโ โโโ โโโ โโโ โโโ โโโ โโโ โโโ โโโ โโโ โโโ โโโโ โ
โโโโโโโโโโ โโโโโโโโโโ โโ โโ โโโโโโโโโโ โโโโโโโโโ โโโ โโ โโโโโโโโโ
โ
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/