You name any swatch of code. The name is a token and can be used in place of the code. A token can mean anything at all. The Freedom IDE lets you zoom into a token from anywhere.
ASL adds nothing. It is efficient to tokenize one word into one. ASL is the only encoding system that is 100% efficient. It is a natural choice for all forms of communication, and all forms of embedded language.
Freedom cross references everything. You get zoomable where-used lists, so it is easy to surf your way to the right place in the code. You make a token for a variable so you can zoom into its declaration from anywhere. You surf the lists to see how this variable is used in other contexts.
Naming a block is like adding a heading in a report or a contract. It doesn’t affect the text but the document gets easier to understand. Named logic is much easier to follow. The token tree is the ultimate navigation tool, and it documents the functionality of your code as you go.
Tokens are an algebra you use to understand and manipulate your code. It is easier to move a word than to move a block of code. Even large programs become fluid and easy to change.
ASL is a language with only one rule: A token is expanded if used alone without punctuation. This would be an error in c/c++, and most languages, so there is no confusion. In other words: if it looks like c it is c, otherwise it's a token or an error.