site/contents/_includes/_reference-lang_.md
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 |
{@ _defs_.md || 0 @} {#op||bind||\* §||{{null}}|| Binds the specified value (auto-quoted) to an existing symbol {{sl}}.#} {#op||call||(\*) §||\*?|| Calls operator {{sl}} defined in scope {{q}}. #} {#op||debug||{{null}}||{{null}}|| Toggles debug mode. #} {#op||debug?||{{null}}||B|| Returns {{t}} if debug mode is on, {{f}} otherwise. #} {#op||define||\* §||{{null}}|| Defines a new symbol {{sl}}, containing the specified value (auto-quoted).#} {#op||delete||§||{{null}}|| Deletes the specified symbol {{sl}}.#} {#op||eval||S||\*?|| Parses and interprets {{s}}. #} {#op||exit||{{null}}||{{null}}|| Exits the program or shell. #} {#op||format-error||(E)||S|| Formats the error {{e}} as a string. > %sidebar% > Example > > The following: > > `((error "MyError") (message "This is a test error")) format-error` > > produces: `"This is a test error"`#} {#op||from-json||S||\*|| Converts a JSON string into {{M -> min}} data.#} {#op||import||§||{{null}}|| Imports the a previously-loaded module {{sl}}, defining all its symbols in the current scope. #} {#op||inspect||(\*)||(S+)|| Returns a list of symbols published on {{q}}'s scope. #} {#op||load||S||\*?|| Parses and interprets the specified {{M}} file {{s}}, adding [.min](class:ext) if not specified. #} {#op||loglevel||§||{{null}}|| Sets the current logging level to {{sl}}. {{sl}} must be one of the following strings or quoted symbols: * debug * info * notice * warn * error * fatal > %note% > Note > > The default logging level is _notice_. #} {#op||module||(\*) §||{{null}}|| Creates a new module {{sl}} based on quotation {{q}}. #} {#op||publish||§ (*)||{{null}}|| Publishes symbol {{sl}} to the scope of [(\*)](class:kwd). > > > %sidebar% > > Example > > > Publish symbol [my-local-symbol](class:kwd) to [ROOT](class:kwd) scope: > > `'my-local-symbol ROOT publish` #} {#op||raise||(E)||{{null}}|| Raises the error specified via the dictionary {{e}}.#} {#op||sigils||{{null}}||(S+)|| Returns a list of all sigils defined in the [ROOT](class:kwd) scope.#} {#op||source||§||(\*)|| Display the source code of symbol {{sl}} (if it has been implemented a {{M}} quotation). #} {#op||symbols||{{null}}||(S+)|| Returns a list of all symbols defined in the [ROOT](class:kwd) scope.#} {#op||to-json||(\*)||S|| Converts a quotation into a JSON string {{s}}.#} {#op||try||(\*)||\*?|| Evaluates quotation {{q}} as a try/catch/finally block. > > {{q}} must contain the following elements: > > 1. A quotation containing the code to be evaluated (_try_ block). > 1. _(optional)_ A quotation containing the code to execute in case of error (_catch_ block). > 1. _(optional)_ A quotation containing the code to execute after the code has been evaluated, whether an error occurred or not (_finally_ block). > >> %sidebar% >> Example >> >> The following program executed on an empty stack prints the message "Insufficient items on the stack" and pushes 0 on the stack: >> >> ( >> (pop) >> (format-error puts) >> (0) >> ) try #} {#op||with||(2) (1)||\*?|| Applies quotation {{2}} within the scope of {{1}}. #} |