Loading ...
Sorry, an error occurred while loading the content.

[tcl_announce] ANNOUNCE: stooop-4.0.1

Expand Messages
  • Jean-Luc Fontaine
    Hi everybody: here is a new version of stooop. Stooop 4.0.1 only works with Tcl 8.2, or a patched Tcl core (see PATCH file for complete information). ###
    Message 1 of 1 , Sep 1, 1999
    • 0 Attachment
      Hi everybody: here is a new version of stooop.

      Stooop 4.0.1 only works with Tcl 8.2, or a patched Tcl core
      (see PATCH file for complete information).

      ### CHANGES ###

      *** version 4.0.1 ***
      switched package index file used an erroneous version

      ### README ###

      This is stooop (a Simple Tcl Only Object Oriented Programming scheme)
      version 4.0.1. Stooop is implemented in a single sourceable file and
      uses simple techniques to provide object orientation to the great Tcl
      language.

      If you know C++ or Java, stooop will be easy to use for you. Using the
      familiar class, new, delete and virtual keywords and a few coding
      conventions, you can start object oriented Tcl code right away, as the
      following simple example shows:

      source stooop.tcl
      namespace import stooop::*

      class circle {
      proc circle {this canvas diameter} {
      set ($this,diameter) $diameter
      set ($this,canvas) $canvas
      set ($this,id) [$canvas create oval 0 0 $diameter $diameter]
      }
      proc ~circle {this} {
      $($this,canvas) delete $($this,id)
      }
      proc move {this x y} {
      $($this,canvas) move $($this,id) $x $y
      }
      }

      pack [canvas .canvas]
      set c [new circle .canvas 50]
      update; after 1000
      circle::move $c 10 10
      update; after 1000
      delete $c

      Stooop supports single and multiple inheritance, data encapsulation
      (all member data is public), dynamic binding, nested classes, object
      copy, runtime type identification, optional runtime procedure and data
      access checking as well as tracing.

      As stooop is entirely written in Tcl, it will run on all Tcl supported
      platforms, including Windows and the Mac Intosh, if you have Tcl
      version 8.2 (or a patched 8.0 or 8.1 Tcl core, see PATCH file).

      The class, new, delete, virtual and classof commands are implemented
      as Tcl procedures.

      Stooop was implemented with a constant concern for performance. Member
      data is stored in Tcl associative arrays, which are best for random
      data access. Classes are implemented as namespaces to improve
      encapsulation and reduce naming interferences. Object oriented helper
      code is kept as small and as efficient as possible. Typically, only a
      couple of Tcl lines are added to a member procedure definition.
      Program startup time will be slightly increased due to some class and
      member procedures preprocessing, but runtime overhead is kept to a
      strict minimum. Use of object oriented techniques may actually improve
      the performance of your code.

      A full HTML documentation, simple demonstration script, graphical
      demonstration with composite pattern and test files are provided. You
      may also run the test suite and look at the test scripts for
      examples. There is also a utility for creating packages (in the Tcl
      sense) from stooop compatible class files.

      There is a companion package to stooop: scwoop (a Simple Composite
      Widget Object Oriented Package). Scwoop is implemented in a single
      sourceable file and uses simple techniques to provide composite widget
      (also known as mega widget) support to the great Tk widget library,
      and is compatible with the Tcl web browser plug-in. Moodss (a Modular
      Object Oriented Dynamic SpreadSheet) implemented with stooop, scwoop,
      tkTable and BLT is also available on my website.

      Whether you like it (or hate it), please let me know. I would like to
      hear about bugs and improvements you would like to see. I will correct
      the bugs quickly, especially if you send me a test script.

      ###

      you may find it now at:

      http://www.multimania.com/jfontain/stooop-4.0.1.tar.gz
      http://www.multimania.com/jfontain/stooo401.zip

      or:

      http://jfontain.free.fr/stooop-4.0.1.tar.gz
      http://jfontain.free.fr/stooo401.zip

      or:

      ftp://ftp.neosoft.com/pub/tcl/incoming/stooop-4.0.1.tar.gz
      to be moved soon into:
      ftp://ftp.neosoft.com/pub/tcl/sorted/devel/stooop-4.0.1.tar.gz

      Enjoy and please let me know what you think.

      --
      Jean-Luc Fontaine mailto:jfontain@...
      http://www.multimania.com/jfontain/

      [[Send Tcl/Tk announcements to tcl-announce@...
      Send administrivia to tcl-announce-request@...
      Announcements archived at http://www.findmail.com/list/tcl_announce/
      The primary Tcl/Tk archive is ftp://ftp.neosoft.com/pub/tcl/ ]]
    Your message has been successfully submitted and would be delivered to recipients shortly.