Provided by: xotcl-shells_1.6.7-2_amd64 bug

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