diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2021-05-15 15:32:14 -0400 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2021-05-15 15:32:14 -0400 |
| commit | 33389e3f57e08aefa9565d1a40c88b41550c50e2 (patch) | |
| tree | d5c95c983b9f6e626703bf3cfc26d18301313556 /spec/system.md | |
| parent | 3dc2957c9e48561c3f78f77c6a1d4bf5736a6dde (diff) | |
Add •Repr to system value spec
Diffstat (limited to 'spec/system.md')
| -rw-r--r-- | spec/system.md | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/spec/system.md b/spec/system.md index dd17f471..0fed759c 100644 --- a/spec/system.md +++ b/spec/system.md @@ -133,10 +133,13 @@ The following short names can also be provided for file access. They can be prov |---------|---------------------- | `•Out` | Print argument string | `•Show` | Print argument value +| `•Repr` | String representation of `𝕩`, if possible | `•Fmt` | Format value for printing `•Out` prints a string to stdout, with a trailing newline. `•Show` displays a BQN value to the programmer (the representation is not specified, and does not need to be plain text). `•Fmt` returns a string (not a character table: lines are separated by linefeeds) indicating how `𝕩` would be printed by the interactive environment. Both `•Show` and `•Fmt` may take a left argument configuring how the value should be formatted. +`•Repr` attempts to return a string so that `•BQN •Repr 𝕩` matches `𝕩`. If `𝕩` contains any mutable values (operations or namespaces), this is not possible. However, if such a values is stateless, in the sense that they don't access variables outside of their own scopes, it is permissible for `•Repr` to return source code that would create a value with identical behavior. + ## Operation properties | Name | Summary |
