Update 'Phrases'
parent
cc871db833
commit
69be3e7ff3
29
Phrases.md
Normal file
29
Phrases.md
Normal file
@ -0,0 +1,29 @@
|
||||
ARF does not make a syntactical distinction between functions and operators. It
|
||||
instead has a concept called a phrase, which is similar to an [s-expression](https://en.wikipedia.org/wiki/S-expression) in lisp. A phrase is
|
||||
just a list of [arguments](Arguments), where the first argument is the function, method, or
|
||||
operator to execute, and the rest are, well, arguments to it.
|
||||
|
||||
Phrases sometimes need to be delimited by square brackets:
|
||||
|
||||
`[f arg1 arg2 arg3]`
|
||||
|
||||
But, if the phrase does not contain any line breaks *directly* in it, and it is
|
||||
not being used as an argument, it can be written without the brackets:
|
||||
|
||||
`f arg1 arg2 arg3`
|
||||
|
||||
A phrase need not have brackets if the line break(s) inside of it are contained
|
||||
within brackets:
|
||||
|
||||
```
|
||||
f [g
|
||||
arg1
|
||||
arg2] arg3
|
||||
```
|
||||
|
||||
However, a phrase *must* have brackets if it is being used as an argument in any
|
||||
context:
|
||||
|
||||
`f [g arg1 arg2] arg3`
|
||||
|
||||
If the phrase has no brackets, it is terminated by the end of its line, or the presence of a [return direction](Return-Direction) arrow.
|
Reference in New Issue
Block a user