diff options
-rw-r--r-- | 046global.cc | 14 | ||||
-rw-r--r-- | index.html | 8 |
2 files changed, 15 insertions, 7 deletions
diff --git a/046global.cc b/046global.cc index a99d5d80..80a83863 100644 --- a/046global.cc +++ b/046global.cc @@ -1,7 +1,13 @@ -// So far we have local variables, and we can nest local variables of short -// lifetimes inside longer ones. Now let's support 'global' variables that -// last for the life of a routine. If we create multiple routines they won't -// have access to each other's globals. +//: So far we have local variables, and we can nest local variables of short +//: lifetimes inside longer ones. Now let's support 'global' variables that +//: last for the life of a routine. If we create multiple routines they won't +//: have access to each other's globals. +//: +//: This feature is still experimental and half-baked. You can't name global +//: variables, and so like in most tests they don't get checked for types (the +//: only known hole in the type system, can cause memory corruption). We might +//: fix these issues if we ever use globals. Or we might just drop the feature +//: entirely. :(scenario global_space) recipe main [ diff --git a/index.html b/index.html index 90f46772..d0333cf8 100644 --- a/index.html +++ b/index.html @@ -132,9 +132,11 @@ Chaining spaces together to accomodate variables with varying lifetimes and ownership properties. <br/><a href='html/045closure_name.cc.html'>045closure_name.cc</a>: how spaces can implement lexical scope. -<br/><a href='html/046global.cc.html'>046global.cc</a>: support for 'global' -variables that are always available inside a single routine. Mu has no -variables that are available transparently across routines. +<br/><a href='html/046global.cc.html'>046global.cc</a>: experimental support +for 'global' variables that are always available inside a single routine. Mu +has no variables that are available transparently across routines, and this +might go away as well. Global variables are currently not checked as +rigorously as the rest of the type system. <br/><a href='html/047check_type_by_name.cc.html'>047check_type_by_name.cc</a>: a simple transform to deduce missing types in instructions on the basis of previous instructions in the same recipe. |