Auto Clear the Output Pane Before Executing:
Auto clear the output pane before executing:
Display Namespace in output pane:The Namespace
contains all the (global) symbols created in running Glee code.
Pressing this button displays all those symbols and their contents.
Display Operators in Output Pane:
Glee has a large number of operators. Each of them may be niladic
(take no arguments), monadic (take one argument) or dyadic (take two argumens).
Pressing this button lists all the operators that this release of
Glee knows about. Only documented operators are thoroughly
debugged.
Execute command in window below:
General: This form is the form I use for
testing Glee as I write it. For now it will also serve as the
Glee demonstration form as Glee moves along in
development.
Moving the cursor over controls in this form image gives a hint to its purpose.
Clicking on the control displays text in this pane describing the control.
GLEE code edit box for one line commands:
Load GLEE Script named in Combo Box to
right: The contents of the the file named in the Glee
object file name combo box are loaded into the Source Code Pane.
Namespace Clear: All the symbols (variables)
created during execution by Glee are cleared by pressing this
button. Afterwards, Glee will have no knowledge of those symbols
and will treat them as NV (no value).
Run GLEE code in input pane to right:
Run GLEE Script In Edit Pane Below:
Save Script in Edit Window Below to File Named In
Combo Box to right: Save the contents of the Multiline
Glee Script Pane in the file named in the Source Code File Name
combo box.
Select GLEE Object file: Specifies the name
of the source file in C:\GLEE\GLEEScripts. This is the sub-directory
that the "Ld" and "Sv" buttons are currently
"hardwired" to (remember, this is just a test pad). The contents of
Source Code Pane are loaded-from ("Ld") or saved-to ("Sv")
a file with this name and the extension '.gof' (e.g
C:\GLEE\GLEEScripts\Test Script.gof) .
Futures: The plan is for Glee to save all its source code
in a single file. A typical application has 4 such files. Typical names are
SYSTEM, PROGRAMS, DATA, and ANCILLARY. This will all be discussed
later when we start doing real work. When this facility has been implemented,
there will be a control added for the directory of these files. Then the list
box portion of this control will list the files and optionally their contents.
You're gonna love it!
Set font for output pane below:
Stop Executing: Stops execution of a running
program. It is possible to write endless loops in Glee. However,
it is not possible to "hang" the computer with Glee
code. A runaway program can always be stopped by pressing this button.
Futures: Currently, pressing this button stops the program and
"terminates" execution. What it should do is stop and
"suspend" execution. After stopping, you should be able to grope
around looking at object values. You should then be able to back up in the
execution stack or continue from the point of suspension. These features are
not hard to implement and should be available soon. They are crucial to
"Software Sculpture". Note: At this time there are some C++ loops
in operators that can't be interrupted. Thus, if you use an operator that takes
a long time to complete, right now it can't be interrupted. To resolve this
issue I need to put hooks into all such loops ... which I can easily do.
However, what I want to do is put an interrupt target into the loops so no
resources are consumed testing for interrupts. Currently I don't know how to do
that.
Special Note: Right now, you "can't" stop Glee
within its implicit loops. For example, if you have two vectors each containing
10 million float elements and you're performing some operation on them (like
multiplication) you could have a problem unless you have a large amount of
memory. With small memories, Windows will thrash (its virtual memory mechanism
swaps to disk.) I have made no provision to break into these loops because in
normal Glee programs the problem is not likely to occur ...
vectors will be much shorter. But it could happen by accident (or you could
make it happen right now with a Glee command like (1e7`)
*1.1.) My 200 MHz will work fine with 1e6 doing 1.2 million
multiplies in a second. However, with 1e7 it thrashes rather than
taking 10 times longer (it actually does finish in about 20 minutes doing 8,000
operations per second and thrashing).
Note: If you try this, be prepared to issue the three finger salute
(ctrl-alt-del) and terminate the Glee interpreter. I need to
provide for breaking into these hard loops, but right now more important fish
need frying. I wish Windows had an interrupt facility so I could supply this
break protection without overhead... then the solution would be trivial.