aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2021-03-03 22:20:43 -0500
committerMarshall Lochbaum <mwlochbaum@gmail.com>2021-03-03 22:20:43 -0500
commitd34d752220f645b253c722bd39e479452ed36e41 (patch)
tree0d0509876713864ed6a9765eb4ee1a64799827fc /doc
parent6dd5088519453bcad5f367b3c6dd3cfeb0e9cd5c (diff)
Remove extensions documentation: too vague and uncertain to be useful
Diffstat (limited to 'doc')
-rw-r--r--doc/README.md3
-rw-r--r--doc/extensions.md34
-rw-r--r--doc/syntax.md2
3 files changed, 0 insertions, 39 deletions
diff --git a/doc/README.md b/doc/README.md
index 0653e787..8d03b84b 100644
--- a/doc/README.md
+++ b/doc/README.md
@@ -43,6 +43,3 @@ References:
Environment:
- [Embedded BQN](embed.md)
-
-Speculation:
-- [Possible language extensions](extensions.md)
diff --git a/doc/extensions.md b/doc/extensions.md
deleted file mode 100644
index 9f4738da..00000000
--- a/doc/extensions.md
+++ /dev/null
@@ -1,34 +0,0 @@
-*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/doc/extensions.html).*
-
-# BQN extensions
-
-This page describes features that are not part of the core BQN specification, but may be specified in the future. If specified, these features would be optional, so that an implementation could choose to support them or not.
-
-## Complex numbers
-
-These are fairly common in APL dialects and could be useful in BQN as well.
-
-## Sets and dictionaries
-
-Sets are unordered collections of distinct values. Dictionaries have a set of keys and associate each key with a corresponding value. These types are a natural fit for the data in some cases; while they can be represented using arrays of keys and values, using the right type can lead to cleaner and faster algorithms.
-
-The following glyphs are added for the dictionary and set literal notation.
-
-Glyph(s) | Meaning
-----------------|-----------
-`:` | Key/value separator for dictionaries
-`⦃⦄` | Set
-
-Set notation matches the bracketed list notation with the angle brackets changed to double-struck curly brackets `⦃⦄`, but there is no ligature notation for sets.
-
-Dictionaries use angle brackets `⟨⟩` like lists, but instead of expressions there are pairs of expressions separated by `:`. The first expression evaluates to the key and the second to the corresponding value. The empty dictionary is written `⟨:⟩`.
-
-Dictionaries and sets should be supported their own set of primitive operations like arrays are. The glyphs `∪⊂⊃⊆⊇` from mathematics are unused for this reason: they could be wanted for set operations.
-
-## Namespaces and symbols
-
-Sometimes it is useful to have a mutable type, particularly if a part of the program should maintain its own state over the course of execution. The [closures](https://en.wikipedia.org/wiki/Closure_(computer_programming)) required as part of a complete lexical scoping implementation actually allow something like this. If a function defines and returns an explicit function, then that function can read and change variables in its environment. As the environment includes the scope created to execute the outer function, calling the outer function creates a mutable environment that can be indirectly accessed through the returned function.
-
-A namespace would allow such an environment to be directly accessed and manipulated. While it's possible there would be facilities to create a namespace, a simpler mechanism is simply to add a primitive that returns the current scope as a variable. This scope would then behave the same way as a returned function's environment, and would allow member access by a dot-like syntax.
-
-A symbol is a variable representing a name in the program. Symbols would make it easier to interact with namespaces dynamically.
diff --git a/doc/syntax.md b/doc/syntax.md
index 7a0b5eb3..2e9c82e9 100644
--- a/doc/syntax.md
+++ b/doc/syntax.md
@@ -107,8 +107,6 @@ The characters `⋄` and `,` and newline are completely interchangeable and are
Lists (1-dimensional arrays) are enclosed in angle brackets `⟨⟩`, with the results of the expressions in between being the list's elements. Lists of two elements or more can also be written with the ligature character `‿`. This character has higher binding strength than any part of an expression. If one of the elements is a compound expression, then it will need to be enclosed in parentheses.
-If added, [sets and dictionaries](extensions.md#sets-and-dictionaries) would also use a list-like notation.
-
### Blocks
*[Full documentation](block.md)*