slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Tcl 8.4 Overview PowerPoint Presentation
Download Presentation
Tcl 8.4 Overview

Loading in 2 Seconds...

play fullscreen
1 / 29

Tcl 8.4 Overview - PowerPoint PPT Presentation


  • 75 Views
  • Uploaded on

Tcl 8.4 Overview. Tcl 8.4 Overview. Jeff Hobbs ActiveState Corporation. Agenda. Introduction Development timeline New features Steps to 8.4.0. About ActiveState. ActiveState provides multi-language, cross-platform software & services Tcl, Perl, PHP, Python, XSLT

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Tcl 8.4 Overview' - vivian


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
tcl 8 4 overview

Tcl 8.4 Overview

Jeff Hobbs

ActiveState Corporation

July 2002

agenda
Agenda
  • Introduction
  • Development timeline
  • New features
  • Steps to 8.4.0

July 2002

about activestate
About ActiveState
  • ActiveState provides multi-language, cross-platform software & services
    • Tcl, Perl, PHP, Python, XSLT
    • Linux, Solaris, Windows, HP-UX, AIX, …
  • We make it easy to use new technologies
    • Web Services and .NET
  • Mission: Make Programming Easier
    • Our IDEs
    • Active distributions
    • ASPN

July 2002

history of tcl

You are here

History of Tcl

7. ActiveState introduces Tcl support and services

1. Tcl created as general-purpose command/scripting language by John Ousterhout

  • 4. Scriptics formed:
  • Evolve and extend Tcl platform
  • Create development tools

6.0 Sept

7.0 Sept

7.4 July

7.6 Oct

8.0 Aug

8.1 Apr

8.3 Feb

1988

1989

1990

1991

1992

1993

1994

1995

1996

1997

1998

1999

2000

2001

8.2 Aug

5. Tcl Core Team formed (August)

  • 2. Open source distributions
  • from U.C. Berkeley:
  • Easy GUIs under Unix
  • Extensible applications

6. Scriptics/Ajuba Acquired by Interwoven (Nov.)

  • 3. Tcl enhanced at Sun Microsystems:
  • Windows, Macintosh ports
  • Web/Internet support
  • Java support

1M ?

100

1000

10,000

100,000

500,000

July 2002

recent history of tcl

R.I.P

You are here

Recent History of Tcl

6. ActiveState introduces Tcl support and services (Feb)

1. Tcl’2K in Austin (Feb)

2. Scriptics becomes Ajuba (May)

9. 8th Tcl Conference (July)

( 8.4.0 )

8.3.1 Apr

8.3.2 Aug

8.3.3 May

8.4a3 Mar

2000

2001

2002

8.4a3 July

8.3.0 Feb

8.4a1 June

8.4a2 Nov

8.3.4 Oct

8.4b1

7. Tcl’Europe 2001 (June)

3. Tcl’Europe 2000 (June)

10. ActiveState TclPro (Dec)

11. ActiveTcl 8.3.4.3 (July)

5. Scriptics/Ajuba acquired by Interwoven; Tcl/Tk core moves to SourceForge; TclPro open sourced (Nov.)

4. Tcl Core Team formed (August)

12. ActiveState TclPro 2.0 beta (July)

July 2002

tcl 8 4 development tips
Tcl 8.4 Development: TIPs
  • First time the TIP process has defined a Tcl releasehttp://www.tcl.tk/cgi-bin/tct/tip/
  • TIPs are intended to guide and document development on the core
    • Initially rough, but process has improved
  • Of the 100+ TIPs, most targeted 8.4
  • Many thanks to the maintainers and contributors

July 2002

tcl changes
Tcl Changes
  • 20+% improved performance over 8.3
  • Completely new Virtual File System (VFS)
  • Improvements to numerous commands
  • 64-bit integer and file system support

July 2002

minor command enhancements
Minor command enhancements
  • array statistics
  • array names arrayName ?mode? ?pattern?
  • interp recursionlimit
  • regsub ?switches? exp string subSpec ?varName?
  • unset ?-nocomplain? ?..? ?name ...?
  • expr ‘eq’ and ‘ne’ for true string comparisons
  • glob -tails pattern ...
  • namespace exists
  • info script ?filename?

July 2002

updated list commands
Updated list commands
  • New lset command
    • Efficient way to replace elements
  • lindex list ?index ...?
    • Index into nested lists easily
  • lsearch -all -ascii -decreasing -dictionary -increasing -inline -integer -not -real -sorted -start

July 2002

file enhancements
‘file’ enhancements
  • Virtual File Sytem
    • Allows hooks into all FS functionality
  • Full support for 64-bit file systems
  • file normalize
  • file separator
  • file system
  • file link

July 2002

tcltest 2 0
Tcltest 2.0
  • Greatly enhanced ‘test’ command
  • Supports multiple error match types
  • Runs multi-process for robustness
  • 100% backwards compatible with v1.0

July 2002

serial port control
Serial Port Control
  • fconfigure serial-mode baud,parity,data,stop -handshake type-queue -timeout msec-ttycontrol signalMap-ttystatus -xchar charPair-pollinterval msec-sysbuffer sizeList
  • fconfigure -lasterror

July 2002

64 bit wide integers
64-bit “wide” integers
  • Uses int64 or long long
  • Not completely transparent 32/64-bit barrier
    • expr wide(…)
  • ::tcl_platform(wordSize)
  • binary command support
    • binary format wW ...
    • binary scan string wW ...

July 2002

changed behavior
Changed behavior
  • fcopy now respects encodings of its channels
  • format %ld and likewise treat argument as wide integer
  • scan %ld and likewise no longer ignore the field width specifier
  • source treats the byte 0x1a (^Z) as an EOF char on all platforms
  • subst treats break and continue during command substitution differently
  • tcl_traceExec and tcl_traceCompile only available with TCL_COMPILE_DEBUG build.

July 2002

updated trace command
Updated ‘trace’ command
  • trace add
  • trace remove
  • trace info
  • Command tracing now possible

July 2002

formalized memory command
Formalized ‘memory’ command
  • Useful for debugging memory problems
  • Requires compilation with TCL_MEM_DEBUG
  • memory active
  • memory init
  • memory onexit
  • memory tag
  • Removed memory display

July 2002

tk changes
Tk Changes
  • Widget styling support (TIP #48)
  • New widgets
  • Significant widget enhancements
  • Improved I18N and L10N
    • Improved XIM and IME support
  • bell ?-nice?
    • First new feature of 8.4

July 2002

new widgets
New Widgets
  • spinbox
    • Builds on the entry widget
    • Fast, feature rich and efficient
  • panedwindow
    • Part widget, part geometry manager
  • labelframe
    • Separate from frame to not bloat it

July 2002

new tk subcommands
New Tk subcommands
  • clipboard get
  • image inuse
  • photo transparency
    • Now we can properly animate GIFs
  • tk caret window ?-x x? ?-y y? ?-height h?
    • For controlling global caret
    • Also directs placement of IME/XIM window

July 2002

text changes
‘text’ Changes
  • New undo/redo support with ‘edit’
    • -undo, -autoseparators and -maxundo option
  • ‘get’ takes multiple range pairs
  • ‘delete’ takes multiple range pairs
    • Atomic deletes
  • New virtual events
    • <<Selection>>
    • <<Modified>>

July 2002

wm changes
‘wm’ Changes
  • wm stackorder
    • View/Control the stacking order of toplevels
  • wm attributes
    • For controlling the platform specific aspects of toplevels
    • Implementations for Mac and Windows
      • May get Unix features in the future
    • Finally: topmost functionality on Windows

July 2002

compound widgets
Compound widgets
  • Allow both image and text to be displayed simultaneously
    • Orientation can be controlled with -compound option
  • Support for all button types and label widget, as well as in menus

July 2002

updated widgets
Updated widgets
  • button -disabledbackground –disabledforeground -compound
  • entry -state readonly -readonlybackground
  • checkbutton -compound -overrelief
  • listbox -disabledforeground -state -activestyle
  • menu add -compound
  • menubutton -compound
  • radiobutton -overrelief

July 2002

asynchronous padding
Asynchronous padding
  • Allows left/right or top/bottom asymmetry in padding (-padx -pady)
  • Applies to widgets …
    • frame
    • toplevel
    • labelframe
  • And geometry managers …
    • pack
    • grid
      • grid columnconfigure master index -uniform
      • grid rowconfigure master index -uniform

July 2002

tk dialog changes
Tk dialog changes
  • tk_getOpenFile -multiple -message
  • tk_getSaveFile -message
  • tk_getOpenFile and tk_getSaveFile are different in whether the returned file name includes the extension.

July 2002

removed tk privates
Removed Tk Privates
  • tkPriv
  • tk[A-Z]*
  • Replace with ::tk::Priv and tk::…
    • Support for ‘exporting’ the private commands
    • … but don’t use them anyways

July 2002

steps to 8 4 0
Steps to 8.4.0
  • Testing, testing, testing …
  • Testing, testing, testing …

July 2002

where to get it
Where to get it
  • Tcl Developer Xchange
    • Points to everything
    • http://www.tcl.tk/
  • ActiveState ActiveTcl
    • Binary distributions with extensions
    • http://www.activestate.com/Products/ActiveTcl/
  • SourceForge
    • Core source distributions
    • http://tcl.sourceforge.net/

July 2002