New Release 91

General:. This page generally describes new functionality in the 91 series of revisions and uploads. This is Working Documentation that with maturity will be moved to the Master Documentation. Work on this release addressed the following areas:

Append to File(,=> ):. This operator works for files just like it works for strings. However, files can be read-only (RO). If used immediately after the :create method, the file is opened in write mode. However, if not, you may need to put it in write mode with ( #false =>[:ro]f ) where "f" is the symbol for the file object.

Serial out (%->>) and Serial In (%<<-):. The %->> (convert to serial out) operator converts the object to a character string which can be transmitted to another GLEE interpreter. The %<<- (convert from serial out ... i.e. serial in) operator converts the serial out string back to the original object.

Serial Out/In for #Pgm:. Serializing programs is a little tricky. First, we must use the :obj to get the object instead of invoking the code. Remember that program objects do not have names associated with them internally. They get their names when they are assigned into the namespace. When we serialize the code out, we just get a string ... there is no program name associated with it. When we serialize that string back in, we get an object ... again with no name associated with it. To associate the name, we get the :obj object representation and assign it to a name in the namespace. This is a dramatic divergence from other languages where the code and their symbolic name are tightly coupled. In practice I may come to hate this and enforce a tighter name/code-object relationship. For now I have opted for freedom and self discipline.

Serial Out/In for #Op:. The issues described in the previous example hold for this example