GUI (Graphical User Interface) was newly published with version 00.18.00.
Its appearance and functions are summarized as Viivi IDE and VITSE,
respectively.
Viivi IDE
[ViiviIntegrating
learning (and Development)
Environment]
This is a multi-window environment for learning (and development) by Scheme beginners
built on top of the Scheme language processor Viivi kernel
using the GUI system of Java/Swing.
components
controller ... interacting with the user
argument-command window ... showing/editing the argument-commands
input-port window ... showing the input contents from an input-port
output-port window ... showing the output contents to an output-port
table windows
... showing various internal states of Viivi kernel
and more (e.g., the cell-space window)
which are disabled in this version
menus and setting panels
menus ... prepared for various functions
on the menu-bar of the controller
and pop-up menus of the windows
setting-panels ... shown from the "setting" menu of the controller
and from the pop-up menus of the windows
to customize
Viivi kernel and
Viivi IDE.
VITSE
This is a set of the functions
built in Viivi IDE,
interacting with the user
to control and to visualize the evaluation process
of Viivi kernel.
It works as a 'TUTOR' for the Scheme programming,
showing the internal evaluation process step by step,
to help the user's understanding.
various functions
Trace-Output ... An evaluation process is shown
with a trace-line
connecting its input and output.
Procedure calls and the side-effects,
such as updates of bindings and data-structures,
are also shown.
Evaluation-Lit ... During evaluation,
a target of processing and evaluation,
together with its related objects,
are indicated with (by default) orange cursors
in real time.
Selection-Lit ... During a halt,
a selected target of the user's interest,
together with its related objects,
are indicated with (by default) violet cursors.
Watch ... Not only the break-points in the source codes,
which are available in many other IDEs,
but also arbitrary Scheme objects,
bindings, procedure calls, and so on,
can be watched by marking them.