-
-
Notifications
You must be signed in to change notification settings - Fork 4
choices
The guiding philosophy of angle is to avoid false diachomies whenever possible. As a result Contrary to a popular mantra, there is often not "one and only one way to top things", instead all obvious ways to do things should be captured by the language.
Angle parses both # and // as comments
One example is that we are agnostic to tabs vs spaces vs braces. The following are just preferences by the user and or linter:
example:{field}
example:
field
example
field
end
However in certain situations angle is opinionated:
In general whitespaces and newlines do carry semantics: newlines hint at block starts, block ends, and definitely end of expression. If one needs multiple expression, these can be expressed by \
That is our choice: all things shall return things, return statements are optional and mostly a means of control flow
Iff a statement occurs in an execution context, it will be executed without braces or exclamation wasp. to end this program: exit end this program!
Is the explicit execution operator "!" ever needed? Only when encountering (quoted) data: not_really_a_program={exit} not_really_a_program # just returns {exit} not_really_a_program!
What about not_really_a_program=exit not_really_a_program still executes
this only seemingly contradicts:
In angle everything is treated symbolically with lazy/delayed execution/evaluation until the very end.