Thyrd is an experimental, reflective, visual
programming language and
environment. In
Thyrd, both data and code are stored in cells situated in nested
two-dimensional grids. The user interface animates the transition from
a cell to its subordinate or superordinate grid to help keep the user
oriented in the hierarchical grid structure. All operations the user
can perform to edit the structure are implemented as operators in the
Thyrd language, thus a Thyrd program can inspect and modify itself or
other programs in the same space.
Thyrd is a member of the Forth family of languages. Thyrd is a postfix concatenative language most similar to Joy
in that it uses quotation and combinators to implement iteration and recursion. The environment provides a
viewer that animates the stacks of a Thyrd program and allows the
program to be stepped both forwards and backwards.
The primary view of Thyrdspace is a 2D grid
of text and icons. A view may be overlaid with a panel consisting of
arbitrary widgets editing the contents of individual cells or an entire
grid. A Thyrd application can be constructed in which all of the code
and data are hidden behind panels and revealed only at the user's
request.
Thyrd is implemented in Tcl/Tk and Poet.