NAME¶
xotclsh - Tcl Shell containing object-oriented scripting language XOTcl
SYNOPSIS¶
xotclsh ?filename arg arg ...?
DESCRIPTION¶
xotclsh is a shell-like application that reads XOTcl commands from its
standard input or from a file and evaluates them. Similarly as the relation
between
tclsh and
wish,
xowish provides all functionality
of xotclsh and provides as well predefined 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 of OTcl.
Scripting languages, such as Tcl, are designed for glueing components together,
provide features such as dynamic extensibility and dynamic typing with
automatic conversion, that make them well suited for rapid application
development.
The object system of XOTcl enables a user to 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 object-class and
class-class relationships in XOTcl are introspectable and can be dynamically
changed at arbitrary times. Ambiguities in name resolution of methods are
avoided through method chaining through "next", which does not
require explicit method naming.
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 constructs 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 give an object dynamically access to the
methods of one or several supplemental classes.
Per-class mixins, as a means to give all instances of an class
dynamically access to the methods of one or several supplemental classes.
Filters as a means of abstractions over method invocations to implement
large program structures, like design patterns.
XOTcl provides a value-added replacement of Tcl package loading providing
integration with object-oriented constructs and tracking/tracing of component
loading.
VARIABLES¶
xotclsh sets all variables that
tclsh sets, and additionally the
following variables:
- ::xotcl::version XOTcl version number.
- ::xotcl::confdir Directory for XOTcl
configuration.
- ::xotcl::logdir Directory where logfiles are
placed.
-
KEYWORDS¶
argument, interpreter, prompt, script file, shell