Bop Language
Welcome to Bop
Bop is a small, dynamically-typed programming language built for Codefire. It starts simple — move a bot through puzzles — but it’s a real language with variables, loops, functions, arrays, and dictionaries. As Codefire grows, so does Bop: from guided puzzles to open-ended sandboxes where you build your own worlds.
Bop isn’t Python, JavaScript, or any real language, but it borrows familiar syntax so that the skills transfer. Curly braces, functions with arguments, arrays, dictionaries — real programming concepts, zero setup.
Quick example
// Collect all the gems in a row
repeat 5 {
if gem_here() {
grab()
}
move("right")
}
say("Done!")
What makes Bop different?
- Looks like real code — curly braces, functions, operators. Skills transfer to real languages.
- One concept at a time — new syntax is introduced gradually through puzzle progression.
- Friendly errors — never cryptic, always helpful. (
"I don't know what 'moev' is — did you mean 'move'?") - Sandboxed by design — no imports, no file I/O, no network access. All resource usage is bounded. See Safety for details.
- Grows with the player — early levels use only function calls; later levels unlock variables, loops, functions, and eventually full sandbox creation.
Where to start
If you’re new to Bop, start with the Basics section and work your way through. If you’re looking for a specific function or operator, jump straight to the Reference section. If you’re working on the engine itself, read the Internals section for the safety model and architecture.