Goobo Labs
Research
OverviewPublicationsBenchmarks (SomBench)Open SourceRoadmap
DatasetsModels
Learn
ProgramsLearning PathsCurriculum
BlogCommunity
Sign inExplore research
Goobo Labs

An open research lab building the foundations of Somali AI.

Research

  • Overview
  • Publications
  • Benchmarks
  • Roadmap

Datasets

  • SomNLP Corpus
  • SomNLP STT
  • Wikipedia Corpus
  • Citation Guide

Programs

  • Data Science & ML Bootcamp
  • Python for Everyone
  • NLP (coming soon)
  • Curriculum

Resources

  • Docs
  • Models & Tools
  • Open Source
  • Blog
  • Soplang

Contact

  • info@goobolabs.so
  • Mogadishu, Somalia

Company

  • About
  • Careers
  • Impact
  • Press Kit
  • Verify Certificate
  • Contact

Community

  • GitHub
  • Hugging Face
  • X
  • LinkedIn

© 2026 Goobo Labs. Open research for Somali AI.

Privacy PolicyTerms of Service
HomeBlogResearch
ResearchJun 30, 2026 · 6 min read

Soplang v2.0.0: a compiler for the first Somali programming language

Our team shipped a Rust-based compiler for Soplang — Cranelift JIT and ahead-of-time builds, with syntax written entirely in Somali keywords.

Sharafdin Yusuf

Sharafdin Yusuf

Lead Engineer & Researcher

Every tokenizer and model we've shipped starts from the same premise: Somali deserves to be a first-class citizen in software, not an afterthought bolted onto English tooling. Soplang takes that premise somewhere new — a real programming language, with syntax written natively in Somali, and a real compiler behind it.

Why a Somali language

Learning to program in a second language adds a layer of translation before a beginner ever gets to the actual logic — English keywords, English error messages, English documentation. Soplang removes that layer: variables are declared with “door,” functions with “hawl,” loops and conditionals read the way a Somali speaker would naturally describe them.

It's not a toy or a transliteration layer over an existing language. Soplang has its own grammar, its own type system, and its own compiler pipeline.

How the compiler works

The current implementation is written in Rust. Source runs through a lexer, parser, and semantic pass into a high-level IR, then either a Cranelift JIT for fast local runs or an ahead-of-time build path that compiles down to a standalone native binary — no separate runtime required to ship a program.

v2.0.0

Latest release

155

GitHub stars

36

Forks

MIT

License

  • Dual typing — static types like "abn" (number) and "qoraal" (string) alongside a dynamic "door"
  • Full object-oriented support — classes, inheritance, encapsulation
  • An interactive REPL powered by the same compiled pipeline
  • A VS Code extension and CLI for a first-class dev experience

What the code looks like

soplang
qor("Salaan, Adduunka!")   // Hello, World!

door magac = "Sharafdin"
abn age = 25

hawl salaam(qof) {
    celi "Salaan, " + qof + "!"
}
qor(salaam(magac))

The legacy tree-walking interpreter has moved to its own repo — all new compiler, JIT, and AOT development now happens in the main Rust implementation.

What's next

Soplang is developed in the open under the MIT license. If you want to try it, the fastest path is the docs at soplang.org — installers for Windows, macOS, and Linux, plus a full language reference and tutorial track.

ToolsCompilersSomaliOpen Source
Sharafdin Yusuf

Sharafdin Yusuf

Lead Engineer & Researcher

Writing about Somali language technology, open data, and AI from the lab in Mogadishu.

All postsGet in touch

On this page

  • Why a Somali language
  • How the compiler works
  • What the code looks like
  • What's next

Share

Back to Blog
More from the lab

Related posts

Research6 min read

Introducing the Somali Language Standard (SLS) – Phase 1 Complete

We've formally published the first two standards of the Somali Language Standard (SLS) — an open, machine-readable, CI/CD-validated framework for the Somali language, starting with the alphabet and the standards process itself.

Jul 9, 2026Read
Research7 min read

Why Somali needs its own tokenizer

Foreign multilingual tokenizers over-segment Somali — BERT-base spends 2.69 tokens per word. Our native BPE tokenizer, trained on 529M words of SomNLP-Corpus, gets that down to 1.53: a 1.75× improvement.

Nov 11, 2025Read
Dataset5 min read

SomNLP-Corpus v2: 887M+ tokens from six open sources

Our largest Somali text release yet: 1.77M clean documents, 591M words, and ~887M tokens from HPLT, CC100, mC4, OPUS, MADLAD, and MT560 — filtered through a six-stage pipeline.

Jun 9, 2026Read
Newsletter

Stay in the loop

Dataset releases, new bootcamp cohorts, research papers, and lab updates — straight to your inbox. No spam, unsubscribe anytime.