EuroTcl 2009 The State of Tcl/Tk.

Slides:



Advertisements
Similar presentations
Connecting to Databases. relational databases tables and relations accessed using SQL database -specific functionality –transaction processing commit.
Advertisements

EuroTcl  Production Release:  Recommended for deployment  Development Version: 8.6b1  Many new features, some ultra-exciting!  Bleeding.
.NET Reflector 5.0 Lutz Roeder December Overview C# 3.0: LINQ query expressions, Lambda expressions Code URL: code://mscorlib/System.Object Assembly.
THEMIS Science Software Training1July 2007 The THEMIS Graphical User Interface J. McTiernan 23-Jul-2007
CS Lecture 03 Outline Sed and awk from previous lecture Writing simple bash script Assignment 1 discussion 1CS 311 Operating SystemsLecture 03.
Writing Tcl Scripts (cont.) Outline –Variable Scoping –Strings –Eval –File/Channel I/O –Processes –System Info –Errors –Reflection/Debugging –Libraries.
This Interaction Annoys Me Documenting a problem with an interaction.
Assignment 1 Pick an interaction you find annoying. Document the steps. Describe the annoyance and how it can be fixed.
Linux+ Guide to Linux Certification, Second Edition
Writing Tcl Scripts Outline Goal Reading Syntax Data Types
Chapter 7 Managing Data Sources. ASP.NET 2.0, Third Edition2.
Simple Web SQLite Manager/Form/Report
Python for S60 SmartPhones PostPC Workshop Fall 2006 Amnon Dekel.
CVSQL 2 The Design. System Overview System Components CVSQL Server –Three network interfaces –Modular data source provider framework –Decoupled SQL parsing.
Unit Testing & Defensive Programming. F-22 Raptor Fighter.
Upcrc.illinois.edu OpenMP Lab Introduction. Compiling for OpenMP Open project Properties dialog box Select OpenMP Support from C/C++ -> Language.
Innovation Intelligence ® 1 Chapter 1: Introduction to TCL.
Let’s Wub Wub tutorial What is Wub? HTTP 1.1 Webserver Written by Colin McCormack 100% Tcl Web application framework Domain based.
Tcl/Tk package in R Yichen Qin
OXygen XML Editor Support for eXist DB XQuery debugging. Stefan Vasile
© 2005 Pearson Education, Inc., Upper Saddle River, NJ. All rights reserved. Data Structures for Java William H. Ford William R. Topp Appendix E The EZJava.
Mosflm & iMosflm (1) Some numbers... (2) Mosflm (3) iMosflm.
1 Week 2 The Crunchy Shell to the Soft and Chewy Kernel… Sarah Diesburg 8/3/2010 COP4610 / CGS5765.
Advanced EPICS Training, Dirk Zimoch 2008 Channel Access in Tcl/Tk.
Oracle Data Integrator Procedures, Advanced Workflows.
What’s new in Kentico CMS 5.0 Michal Neuwirth Product Manager Kentico Software.
Copyright © 2010 Certification Partners, LLC -- All Rights Reserved Perl Specialist.
Eagle: Maturation and Evolution 17th Annual Tcl Conference Joe Mistachkin.
SciDAC SSS Quarterly Report Sandia Labs August 27, 2004 William McLendon Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed.
Let’s Wub Wub tutorial What is Wub? HTTP 1.1 Webserver Written by Colin McCormack 100% Tcl Web application framework Domain based.
Copyright © 2003 ProsoftTraining. All rights reserved. Perl Fundamentals.
9-Nov-97Tri-Ada '971 TASH An Alternative to the Windows API TRI-Ada ‘97 Terry J. Westley
TCL TK. Tcl/Tk C functions can become Tcl commands that are invoked interactively Tk = scriptable, portable user interface –Windows, X (Unix), MacOS,
Porting a large scale enterprise application from Tcl/Tk 8.4 to 8.5 Prashant Thakre, Tushar Gupta {prashant_thakre, Gaurav Bansal.
Eagle: Tcl Integration with the CLR 16th Annual Tcl Conference Joe Mistachkin.
Applications Kay Kasemir ORNL/SNS Using Information and pictures from Matthias Clausen, Jan Hatje, and Helge Rickens (DESY) October 2007.
Linux+ Guide to Linux Certification, Second Edition Chapter 4 Exploring Linux Filesystems.
Scripting.
Microsoft Visual Basic 2012: Reloaded Fifth Edition Chapter One An Introduction to Visual Basic 2012.
Today Threading, Cont. Multi-core processing. Java Never Ends! Winter 2016CMPE212 - Prof. McLeod1.
C Copyright © 2009, Oracle. All rights reserved. Using SQL Developer.
SciDAC SSS Quarterly Report Sandia Labs January 25, 2005 William McLendon Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed.
An Introduction To Tcl Scripting John Ousterhout Sun Microsystems Laboratories Tcl/Tk Tutorial, Part II.
Netbeanstcl (A netbeans plugin for Tcl) A GSoC (Google Summer of Code) Project by Michal Poczwardowski.
Itcl-ng Status. History Implementation started about 4 years ago October 2008 Itcl4.0a release December 2008 Itcl4.0b1 February 2009 Itcl4.0b2 October.
Dive Into® Visual Basic 2010 Express
PHP LANGUAGE MULTIPLE CHOICE QUESTION SET-5
ASP.NET Programming with C# and SQL Server First Edition
CS 330 Class 7 Comments on Exam Programming plan for today:
Itcldoc 1.
ITCS-3190.
Goals Give you a feeling of what Eclipse is.
Easily retrieve data from the Baan database
Spark Presentation.
FTS Monitoring Ricardo Rocha
Course Name: QTP Trainer: Laxmi Duration: 25 Hrs Session: Daily 1 Hr.
Programming Using Tcl Maxwell Created By: Quan Nguyen Created Date: 12/12/2016 TCL Training1.
Functional Programming with Java
TCL/TK Tool Command Language/Tool Kit.
MIS Professor Sandvig MIS 324 Professor Sandvig
NexTk/NtkWidget A replacement for Tk ?! 1.
Electronics II Physics 3620 / 6620
Exploring the Power of EPDM Tasks Working with and Developing Tasks in SolidWorks Enterprise PDM (EPDM) By: Marc Young xLM Solutions
Third European Tcl/Tk User Meeting.
MIS Professor Sandvig MIS 324 Professor Sandvig
Eagle: Maturation and Evolution
5/8/2019 3:20 AM bQuery-Tool 3.0 A new and elegant way to create queries and ad-hoc reports on your Baan/Infor ERP LN data. This Baan session is a query.
CST8177 Scripting 2: What?.
Lecture 13 Teamwork Bryan Burlingame 1 May 2019.
Presentation transcript:

EuroTcl 2009 The State of Tcl/Tk

Current Status Production Release: 8.5.7 Development Version: 8.6b1 Recommended for deployment Development Version: 8.6b1 Many new features, some ultra-exciting! Bleeding Edge: 8.6b1.1 Current CVS checkout A few extra features that missed 8.6b1 More bug fixes Close to 8.6b2

Timeline Production: 8.5 Development: 8.6 8.5.0  20 December 2007 8.5.7  16 April 2009 Development: 8.6 8.6b1  19 December 2008 Tried to keep shorter cycle than for 8.5 8.6b2 “soon” 8.6.0  Tcl’2009 in September

Major New Features of Tcl 8.6 Non-Recursive Engine Coroutines, Tailcalls, Less stack hammering, … TclOO Basic high-performance object system [incr Tcl] Next Generation (itcl-ng/itcl4) New version based on top of TclOO framework TDBC Standard database interface On top of TclOO framework Drivers not included Thread To be included by default

More New Tcl Script Features Scripted channel transforms Zlib compression Execution cancellation Built-in base64 encoding Standalone pipes Better string prefix handling Method to get $env(PATH) separator Extend “string trim” whitespace def. More commands “do nothing” gracefully Improved list searching Striding list sorts List extension with “lset” “File tempfile” to make temporaries Better exception handling with “try” Half-close of bidirectional channels Multiple patterns in “dict filter” “Format”/“scan” base-2 support

New Tcl C API Features NRE API TclOO API Make Tcl_Interp opaque Allow user commands to be restartable TclOO API Create and manage classes, instances and methods Make Tcl_Interp opaque Eliminate interp->result API for interp->errorLine Detection of active interpreters Option parser (from Tk) Portable Tcl_StatBuf access Expose TclTransferResult() Expose TclBackgroundException() Access to startup scripts

Showing Off: Classes oo::class create integrator { variable exp sum delay tBase t0 k0 aid constructor {{interval 10}} { set delay $interval set tBase [clock microseconds] set t0 0 set exp { 0.0 } set k0 0.0 set sum 0.0 set aid [after $delay \ [namespace code {my Step}]] } destructor { after cancel $aid method input expression { set exp $expression } method output {} {return $sum} method Eval t {expr $exp} method Step {} { set aid [after $delay \ [namespace code {my Step}]] set t [expr { ([clock microseconds]-$tBase)/1e6 }] set k [my Eval $t] set sum [expr { $sum + ($k+$k0) * ($t-$t0) / 2. }] set t0 $t; set k0 $k This is an example from Rosetta Code

Showing off: Coroutines proc task {script} { coroutine task_ apply [list {} ” $script set ::done ok "] vwait done } proc pause {seconds} { yield [after [expr { int($seconds * 1000) }] [info coroutine]] set pi 3.14159265 task { integrator create int0 int0 input { sin(2*$::pi * 0.5 * $t1) } pause 2 int0 input { 0.0 } pause 0.5 puts [format %.15f [int0 output]] Prints: -0.000000168952702

Showing off: TDBC package require tdbc::sqlite3 tdbc::sqlite3::connection create db \ "phonebook.sqlite3" set statement [db prepare { select phone_num from directory where first_name = :firstname and last_name = :lastname }] db transaction { set firstname "Fred" set lastname "Flintstone" $statement foreach row { puts [dict get $row phone_num] } $statement close db close

New Features of Tk 8.6 Windows Vista theme for Ttk Canvas features Absolute canvas item positioning Canvas item vertex editing Angled text items Unfocussed text widget cursor control New “tk busy” command Standard font selection dialog PNG image support Updated mouse-wheel behavior

Showing off Angled Text… .canv create text 300 300 -text "sample” -angle 30

image create photo o3 -file ouster.png -format "png -alpha 0.5" Showing off PNG Images image create photo o3 -file ouster.png -format "png -alpha 0.5"

Showing off the (OS X) Font DiaLog tk fontdialog show

Where Next? 8.6 Plans… Tcl future directions Future Tk directions Fix bugs Improve performance Tk on OSX to use Cocoa Make prettier Production release in Autumn Tcl future directions Coupling arrays to non-classical back-ends HTTP/1.1 (GSoC!) Regexp improvements (GSoC!) Scripted virtual file-system Future Tk directions Image handling (GSoC!) Megawidgets Printing? (GSoC!)