A Toy Localizable Programming Language

(See the associated blog post.)

Construct English Finnish
Declare locale (must be first line) #en-US #fi-FI
Declare and bind an identifier let <id> = <expr> olkoon <id> = <expr>
Conditional if ... then ... else ... jos ... sitten ... muuten ...
Declare a (named) function function <name> <param> = <body> funktio <name> <param> = <body>
Call a function call <function> <arg> kutsu <function> <arg>
Builtins (+, -, <) <builtin> <left> <right> <builtin> <left> <right>

The only data types available are functions and numbers (both integers and floating point numbers are acceptable). Recursive functions are possible, but mutual recursion is not (functions are available only after they have been declared). All tokens must be separated by spaces, and comments are not currently provided. Failing to declare a locale is an error.

In general, this is a toy language meant to prove a point; putting more than the bare minimum amount of energy into parsing or adding interesting constructs would be a poor use of time.