FAQ
Frequently asked questions about Soplang
General
What is Soplang?
Soplang is the Somali programming language. Its keywords and built-ins are in Somali (door, hawl, haddii, qor, …), so Somali speakers can learn programming in their own language. It supports both dynamic (door) and static (abn, qoraal, …) typing.
How does Soplang run my code?
Soplang is implemented in Rust. soplang file.sop compiles your program with a Cranelift JIT and runs it immediately. soplang --build file.sop -o app produces a standalone native binary. See CLI & REPL.
Is it open source?
Yes. Soplang is open source under the MIT License. The source is at github.com/soplang/soplang.
Installation & Setup
How do I install Soplang?
Download a prebuilt release from the downloads page, build it from source with Cargo, or run it with Docker. See the installation guide.
What file extension does Soplang use?
.sop
Language Features
Does it support classes?
Yes. Classes are defined with qaab, created with cusub, can inherit with dhaxal, and use nafta for the current instance. See Classes. There are no interfaces.
Can I handle errors?
Yes, with fasax { ... } qabo (khalad) { ... }. See Error Handling.
Can I split my program into multiple files?
Yes, with keen "file.sop". See Modules.
Do I need semicolons?
No. Each statement ends at the end of its line, and a ; is a syntax error.
Does Soplang have string interpolation?
No. Join values with +: qor("Da'da: " + da).