From: Thomas Walker Lynch Date: Fri, 13 Feb 2026 11:23:02 +0000 (+0000) Subject: check X-Git-Url: https://git.reasoningtechnology.com/sitemap.xml?a=commitdiff_plain;h=8de498c2244bc3acf2e721c806520a033c9c34b1;p=Epimetheus%2F.git check --- diff --git a/developer/authored/a.out b/developer/authored/a.out deleted file mode 100755 index 8bf5c21..0000000 Binary files a/developer/authored/a.out and /dev/null differ diff --git a/developer/authored/build/temp.linux-x86_64-cpython-311/TM_module.o b/developer/authored/build/temp.linux-x86_64-cpython-311/TM_module.o deleted file mode 100644 index ae8ada3..0000000 Binary files a/developer/authored/build/temp.linux-x86_64-cpython-311/TM_module.o and /dev/null differ diff --git a/document/Symbol_Specification.html b/document/Symbol_Specification.html index d9c0526..ca2a1b4 100644 --- a/document/Symbol_Specification.html +++ b/document/Symbol_Specification.html @@ -1,17 +1,17 @@ - - - Symbol Specification - - - - - - - + + + Tape Machine + + + + + + +
  • Symbol subclass
  • Factory subclass
  • -
  • Context subclass
  • -
  • a null symbol
  • +
  • ContextMap subclass
  • @@ -40,7 +39,7 @@

    - When a Symbol instance is garbage collected, it contacts the Symbol.Factory, so that its identity can be added to the Symbol.Factory's free list. + When a Symbol instance is garbage collected, it contacts the Symbol.Factory, so that its identity can be added to the Symbol.Factory's free set.

    Factory

    @@ -48,7 +47,7 @@

    The Factory has:

    1. counter
    2. -
    3. free_list
    4. +
    5. free_set

    @@ -61,39 +60,46 @@

    - The lowest counter value is zero. At time of Factory initialization the zero value is given as the identity for the SymbolSpace.null symbol. This initialization strategy assures the counter value remains the highest issued symbol identity even immediately after initialization. + The factory __init__ method is given a variable name that is assigned to the identify zero symbol during init. Thus the factory is always in a consistent state and ready to be used after it is made.

    - To add to the free list, first check the current counter value, If the count matches the identity of the newly freed Symbol instance, decremented the count. If the Counter's post decrement value is on the free list, it is removed from the free list and the count is decremented again, this repeats until the new decement count is not found on the free list. It is an error to attempt to free the null symbol, that of 0. + To add to the free set, first check the current counter value. If the count matches the identity of the newly freed Symbol instance, decrement the count. If the Counter's post decrement value is on the free set, it is removed from the free set and the count is decremented again. This repeats until the new decrement count is not found on the free set. It is an error to attempt to free the null symbol (identity 0).

    -

    Context

    -

    - Context is a map keyed on a symbol list. Such a symbol list is called a 'symbol context'. Each key maps to a Factory. -

    +

    Typically a caller does not directly instantiate factories, but instead uses the ContextMap. When this convention is followed, all symbols belong to a context. +

    + +

    ContextMap

    - A program creates a context by calling make while giving it a Symbol instance list. That list, in the order the symbols are given, is said to be a symbol context. The make routine returns a Factory. Thus the returned Factory instance is a context specific factory. -

    + A program makes a factory by calling ContextMap.make while giving make two arguments. The first is a Symbol instance list that serves as the context key. The second argument is a variable that will be assigned to the first symbol in said context. The make routine returns a Factory. Said Symbol instance list can be empty, this is the so called root context. +

    -

    The program should never give make a symbol context that is already a key in the table. make can be guarded using read +

    The program should never give make a context key that is already a key in the map. make can be guarded using read.

    -

    The read function is given a symbol context and returns the corresponding context specific factory, or none, if there isn't one. +

    The read function is given a context key and returns the corresponding Factory, or none if there isn't one.

    -

    A symbol that is part of symbol context will never be garbage - collected. Hence, a symbol context remains in the table even when it is not being used. +

    A symbol that is part of a context key will never be garbage collected. Hence, a context key remains in the map even when it is not being used.

    -

    A symbol context is deleted from the table by calling the delete interface function and giving it the symbol context to be deleted.

    +

    A context key is deleted from the map by calling the delete interface function and giving it the context key to be deleted.

    + +

    Instantiating a SymbolSpace

    +

    + The SymbolSpace initializer is given a variable that serves as the first symbol to be made, and an optional context which serves as the first context to be made. The context defaults to the empty list. +

    Usage

    -

    A programmer first creates a SymbolSpace, then in normal use, the programmer will create a top level symbol to serve as a namespace. The programmer will then use the resulting context specific factory to create symbols within that namespace +

    A programmer first creates a SymbolSpace. Then, in normal use, the programmer will create a top level symbol to serve as a namespace. The programmer will then use the resulting Factory to create symbols within that namespace.

    +
    + +