a simple language for processing information
BBLANG is a procedural programming language, and hence a typical solution in BBLANG is expressed in the form of functions that make use of other functions to solve a problem. On a top level, programs are organized as modules that defines functions within them. There is the familiar concept of private and public functions, where private functions are available for use only within the module and public functions are exported for use in other modules. Public functions have a name with a colon (":") in them. So "user:auth", "user:create", "user:delete" are examples of names of public functions while "createUser", "deleteUser" are examples of private functions.
BBLANG natively supports JSON and hence the type system is composed of number, string, list, map and function. Boolean has a special treatment in BBLANG, in that they are called "Betals" that stand for "Boolean et. al." as they also accommodate "null" under the Betal type. Functions are first class citizens and can be treated like normal values, so that you may freely assign them to variables and pass it around as arguments to other functions. In BBLANG there is no need to declare variables, you can directly start assigning them values. The scope of a variable is the function in which it is defined, and hence cannot be modified outside of the function in which it is defined. Also, there is no global scope, every variable must be housed inside a function. A function defined inside a function captures the variables of the parent function, in a read-only fashion and hence not modifiable.
BBLANG supports both "if" and "switch" conditional statements. The parentheses surrounding the condition is optional, but is required when multiple expressions are to be evaluated. The syntax for the switch statement deviates from the normal syntax where every case condition is enclosed within curly braces and are optional if there is only statement to be executed. There is no colon (":") after a case expression.