TclProp and OAT: Tools for Declarative Programming
Joseph A. Konstan and Alex Safonov, University of Minnesota
Who should attend: Software developers with experience implementing graphical user interfaces, either in Tk or another high-level toolkit. No prior experience with declarative programming is assumed.
What you will learn: How to simplify the implementation of complex interfaces by using declarative programming techniques.
This tutorial introduces TclProp and OAT, tools that Tcl/Tk developers can use to support declarative programming. Declarative programming is a technique in which programmers specify what they want to happen rather than how they want it to happen. The resultant programs are easier to understand, modify, and maintain. For example, using TclProp and OAT, a programmer can specify when buttons and menu items are active or inactive. Similarly, it is possible to implement constraints among canvas items to ensure proper size and layout.
You will learn from complete, practical examples that illustrate the use of declarative programming. Real-world exercises ensure that you can start using TclProp and OAT right away.
After completing this tutorial, you will be able to identify applications that can be simplified by using declarative programming; use TclProp to enforce relationships among application values; and use OAT to extend declarative programming into Tk widgets, canvas items, and their own objects.
Joseph A. Konstan has spent over nine years researching issues in user interface programming, including declarative programming. He is an award-winning instructor whose industrial short courses and conference tutorials have been well-received by students of all backgrounds. He is an assistant professor of computer science.
Alex Safonov's research on advanced scientific visualization led him to explore declarative programming, and he is the creator of the OAT trace extension and the latest version of TclProp. Alex has lectured on declarative programming and is a recipient of the Best Paper award from the Fourth Annual Tcl/Tk Workshop. He is a PhD candidate at the University of Minnesota.
Back to Tutorial Overview