Go to file
Bobby Lucero 3138f6fb92 Various changes, again. Updated extension. Added classes, super, this, polymorphism.
Runtime: add method dispatch for array/string/dict/number (.len, .push, .pop, .keys, .values, .has, .toInt)
Stdlib: delete global len/push/pop/keys/values/has
Tests/docs/examples: migrate to method style; add tests/test_builtin_methods_style.bob
All tests pass
Breaking: global len/push/pop/keys/values/has removed; use methods instead
Parser/AST: add class/extends/extension/super, field initializers
Runtime: shared methods with this injection; classParents/classTemplates; super resolution; ownerClass/currentClass; extension lookup order
Builtins: method dispatch for array/string/dict/number (.len/.push/.pop/.keys/.values/.has/.toInt); remove global forms
Tests/docs/examples: add/refresh for classes, inheritance, super, polymorphism; migrate to method style; all tests pass
VS Code extension: update grammar/readme/snippets for new features
2025-08-10 22:44:46 -04:00
.idea Tidy code, interactive interpreter prints out result of expression without explicit print statement 2023-06-01 17:19:19 -04:00
bob-language-extension Various changes, again. Updated extension. Added classes, super, this, polymorphism. 2025-08-10 22:44:46 -04:00
examples Property Expression, Fixed memory leaks 2025-08-08 19:03:49 -04:00
leakTests Various changes, again. Updated extension. Added classes, super, this, polymorphism. 2025-08-10 22:44:46 -04:00
Reference Various changes, again. Updated extension. Added classes, super, this, polymorphism. 2025-08-10 22:44:46 -04:00
src Various changes, again. Updated extension. Added classes, super, this, polymorphism. 2025-08-10 22:44:46 -04:00
tests Various changes, again. Updated extension. Added classes, super, this, polymorphism. 2025-08-10 22:44:46 -04:00
tools Various changes 2025-08-06 21:42:09 -04:00
.gitignore Cleanup 2025-08-10 15:09:37 -04:00
CMakeLists.txt Property Expression, Fixed memory leaks 2025-08-08 19:03:49 -04:00
README.md Moved to cmake and ninja, updated docs 2025-08-07 19:09:25 -04:00
run_leak_tests.sh Property Expression, Fixed memory leaks 2025-08-08 19:03:49 -04:00
test_bob_language.bob Various changes, again. Updated extension. Added classes, super, this, polymorphism. 2025-08-10 22:44:46 -04:00
test_fib.bob Various changes 2025-08-06 21:42:09 -04:00
tests.bob Various changes, again. Updated extension. Added classes, super, this, polymorphism. 2025-08-10 22:44:46 -04:00

██████╗  ██████╗ ██████╗ 
██╔══██╗██╔═══██╗██╔══██╗
██████╔╝██║   ██║██████╔╝
██╔══██╗██║   ██║██╔══██╗
██████╔╝╚██████╔╝██████╔╝
╚═════╝  ╚═════╝ ╚═════╝ 

A modern programming language with all the features/sytax I prefer

Documentation

Features

  • Core Types: Numbers, strings, booleans, arrays, dictionaries, functions
  • Advanced Functions: First-class functions, closures, anonymous functions, tail call optimization
  • Control Flow: If/else statements, while/do-while/for loops, break/continue
  • Operators: Arithmetic, logical, bitwise, comparison, compound assignment (+=, -=, etc.)
  • Built-in Functions: print, input, assert, len, push, pop, keys, values, type conversion (toString, toNumber, toInt)
  • Other Stuff: String interpolation, escape sequences, file I/O, eval, time/sleep, random
  • Memory: Automatic cleanup, no manual memory management

Quick Start

# Build
cmake -G Ninja -B build -DCMAKE_BUILD_TYPE=Release
ninja -C build

# Run
./build/bin/bob your_file.bob