Dynamic Typing
Soul is dynamically typed, meaning variables don’t need type declarations. The type is determined at runtime based on the assigned value.Variable Declaration
Variables are created upon first assignment using the= operator:
Soul doesn’t use keywords like
var, let, or const. Simply assign a value to create a variable.Primitive Types
Numbers
Soul uses 64-bit floating-point numbers with high-precision decimal implementation to avoid common floating-point issues:Strings
Strings are UTF-8 encoded and can use three different quote styles:Booleans
Boolean values aretrue or false:

