A simple, fast scripting language for everyday tasks
Perfect for beginners, students, and teachers — yet powerful enough for real-world applications
Bytecode interpreter with NaN-tagged values for exceptional performance. Outperforms Python and competitive with Lua.
Clean, easy-to-learn syntax inspired by Python and Lua. Perfect for scripting, prototyping, and real applications.
Comprehensive built-in library with file I/O, JSON parsing, string manipulation, array/map operations, collision detection, texture rendering, audio playback, and game development utilities. Everything you need, right out of the box.
Create games right out of the box! Built-in window creation, keyboard/mouse input, sprite rendering, collision detection, full audio support for music and sound effects. Everything you need for 2D games - no external libraries required.
Native support for arrays, maps, and records with powerful built-in operations.
Full IDE support with syntax highlighting, error reporting, goto definition, and more.
## Fibonacci function with memoization
let cache = {}
def fib(n):
if n <= 1:
return n
end
if has_key(cache, n):
return cache[n]
end
let result = fib(n - 1) + fib(n - 2)
cache[n] = result
return result
end
print(fib(30)) # Fast execution!
Get up and running in seconds. No dependencies, no configuration, no hassle.
Grab the binary for your platform
Create a hello.pbl file
io_print("Hello, Pebble!")
let x = 42
io_print("The answer is", x)
Execute your script instantly
$ pebble hello.pbl
Hello, Pebble!
The answer is 42
Real-world performance comparisons