Provided by: xotcl-shells_1.6.8-3_amd64 

NAME
xowish - Graphical shell containing object-oriented scripting language XOTcl
SYNOPSIS
xowish ?fileName arg arg ...?
_________________________________________________________________
DESCRIPTION
xowish is a shell-like application that reads XOTcl commands from its standard input or from a file and
evaluates them. In addition to xotclsh it provides graphical user interface support for TK widgets.
XOTcl (XOTcl, pronounced exotickle) is an object-oriented scripting language based on MIT's OTcl. It is
intended as a value added replacement for OTcl.
Scripting languages, like Tcl, are designed for glueing components together, provide features like
dynamic extensibility and dynamic typing with automatic conversion, that make them well suited for rapid
application development.
The basic object system of XOTcl is adopted from OTcl. The object system enables us to define objects,
classes, and meta-classes. Classes are special objects with the purpose of managing other objects.
``Managing'' means that a class controls the creation and destruction of its instances and that it
contains a repository of methods accessible for the instances. Every object may be enhanced with object-
specific methods. XOTcl supports single and multiple inheritance. All relationships in XOTcl, including
class and superclass relationships, are completely dynamic and can be introspected. Through method
chaining without explicit naming of the intended method, ambiguities in name resolution of methods are
avoided. This way a shadowed method can be ``mixed into'' the execution of the current method.
XOTcl combines the ideas of scripting and object-orientation in a way that preserves the benefits of both
of them. It is equipped with several new language functionalities that help building and managing complex
systems. We added the following support:
Dynamic Object Aggregations, to provide dynamic aggregations through nested namespaces (objects).
Nested Classes, to reduce the interference of independently developed program structures.
Assertions, to reduce the interface and the reliability problems caused by dynamic typing and, therefore,
to ease the combination of many components.
Meta-data, to enhance self-documentation of objects and classes.
Per-object mixins, as a means to improve flexibility of mixin methods by giving an object access to
several different supplemental classes, which may be changed dynamically.
Per-class mixins, as a means to improve flexibility of mixin methods to a class, all instances of the
class have access to the mixed in methods like for multiple inheritance, but without the need of
intersection classes.
Filters as a means of abstractions over method invocations to implement large program structures, like
design patterns.
Dynamic Component Loading XOTcl integrates the Tcl package loading with architectrual support for
integration with object-oriented constructs. Moreover, it provides tracking/tracing of component loading.
KEYWORDS
argument, interpreter, prompt, script file, shell
XOWish xowish(1)