From 673de1c627a2046123e1693e9e6508399a028508 Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Sat, 3 Oct 2020 16:38:35 -0400 Subject: Write files directly from md.bqn, not gendocs (removes trailing empty lines) --- docs/doc/extensions.html | 1 - 1 file changed, 1 deletion(-) (limited to 'docs/doc/extensions.html') diff --git a/docs/doc/extensions.html b/docs/doc/extensions.html index e781194f..08013bc6 100644 --- a/docs/doc/extensions.html +++ b/docs/doc/extensions.html @@ -36,4 +36,3 @@

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 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.

- -- cgit v1.2.3