From 25bf556f9434f557171b040fc2945eacb112ba8c Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Tue, 16 Aug 2022 21:21:59 -0400 Subject: Document what programs and errors are --- doc/syntax.md | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc/syntax.md') diff --git a/doc/syntax.md b/doc/syntax.md index 292e6cc9..37d94dc2 100644 --- a/doc/syntax.md +++ b/doc/syntax.md @@ -4,6 +4,8 @@ BQN syntax consists of expressions where computation is done, with a little organizing structure around them like assignment, functions, and list notation. Expressions are where the programmer is in control, so the design tries to do as much as possible with them before introducing special syntax. +A *program* is a unit of source code that's evaluated, such as a source file, or one line of REPL input (one run of the `bqn` executable often involves multiple programs). Like a [block](#blocks), it's a sequence of expressions to be evaluated in order. It has a result, which is used it the program was evaluated from BQN with `•BQN`, `•Import` or similar. An error might occur when a program is running; this ends execution unless it's [caught](assert.md#catch). + ## Precedence Here's a full table of precedence for BQN's glyphs (broader than "operator precedence", as an "operator" usually just corresponds to a function). Entries at the bottom make the biggest divisions in the program, while the ones further up are subdivisions. -- cgit v1.2.3