BuddhistCatholicContemplativeEvangelicalGeneral ChristianHinduJewishLatter-day SaintMuslimNew VisionsProgressive Christian
Beliefs
- Buddhist
- Catholic
- Contemplative
- Evangelical
- General Christian
- Hindu
- Jewish
- Latter-day Saint
- More Voices
- Muslim
- New Visions
- Pagan
- Progressive Christian
Topics
- Religion News
- Food and Religion
- Sports and Religion
- Religious Art
- Religious Music and Entertainment
- Religious Events
- History and Religion
- Style and Religion
- Politics and Religion
- Women in Religion
- Recreation Outdoors and Religion
- Business Finance and Religion
- Careers Workplace and Religion
- Education and Religion
- Family Parenting and Religion
- Health Fitness and Religion
- Home and Religion
- Relationships and Religion
- Technology and Religion
- Travel and Religion
Columnists
- Buddhist Columnists
- Business Finance and Religion Columnists
- Careers Workplace and Religion Columnists
- Catholic Columnists
- Contemplative Columnists
- Education and Religion Columnists
- Evangelists Columnists
- Family Parenting and Religion Columnists
- General Christian Columnists
- Health Fitness and Religion Columnists
- Hindu Columnists
- History and Religion Columnists
- Home and Religion Columnists
- Jewish Columnists
- More Voices Columnists
- Latter Day Columnists
- Muslim Columnists
- New Visions Columnists
- Nonreligious Columnists
- Pagan Columnists
- Politics and Religion Columnists
- Progressive Columnists
- Recreation Outdoors and Religion Columnists
- Relationships and Religion Columnists
- Religion News Columnists
- Religious Art Columnists
- Religious Events Columnists
- Religious Music and Entertainment Columnists
- Sports and Religion Columnists
- Style and Religion Columnists
- Technology and Religion Columnists
- Travel and Religion Columnists
- Women in Religion Columnists
Resource Library
- 2026 Calendar
- Library of World Religions
- The 100 Most Holy Places on Earth
- Patheos Answers
- Podcasts
- Videos
- Faith Leaders Database
- Anglican Episcopalian
- Bahai
- Baptist
- Buddhism
- Christianity
- Confucianism
- Eastern Orthodoxy
- Hinduism
- Holiness and Pentecostal
- ISKCON
- Islam
- Judaism
- Lutheran
- Methodist
- The Church of Jesus Christ of Latter-day Saints
- New Age
- Paganism
- Presbytarian and Reformed
- Protestantism
- Religion Behind the Scenes
- Roman Catholic
- Scientology
- Shia Islam
- Sikhism
- Sufism
- Sunni Islam
- Taoism
- Zen
- See all religions
Research Tools
Ad-Free & Subscriber Log-In Subscription Support
Ad-Free & Subscriber Log-In Subscription Support
- Trending:
- Forgiveness
- |
- Marriage
- |
- Consciousness
- |
- Death Penalty
- |
- Election
- |
- Halloween
Cry 'Woof'
-
Series
- Home
- Catholic
- Quill: A Build System for TCL/TK
Quill: A Build System for TCL/TK
Last updated on: December 23, 2014 at 5:21 pm by willduquette
Quill: A Build System for TCL/TK 2014-12-23T17:21:00-05:00 willduquette
Patheos Explore the world's faith through different perspectives on religion and spirituality! Patheos has the views of the prevalent religions and spiritualities of the world.
I’m taking a break from posting about Clojure this week, because a few weeks ago my study of Clojure inspired me to work on a non-Clojure project. That sounds odd, I suppose, but it’s often the way: in studying some programming language I’m not familiar with, I get ideas for work in areas I am familiar with.
In this case the inspiration came from the Leiningen build tool, which I gushed about a couple of months ago. To recap, a budding Clojure programmer need only download Leiningen; and it will not only make Clojure available, it will make it absurdly easy for the programmer to get his code out into the Clojure ecosystem for other people to use.
Now, my favorite programming language is TCL/TK, and my contributions to open source software over the years have all been related to TCL/TK; and my immediate reaction to Leiningen was, “Gosh, I want a program like this for TCL/TK!” And then, some time later, “Hmmm. You know, I could do this, and this and…” More dangerous words were never uttered.
Anyway, the long and the short of it is, I’ve been working on a project called “Quill”, which is a TCL/TK analog of Leiningen. It’s early days, yet, but the initial version, Quill 0.1.0, is now available at GitHub for those who are interested. It isn’t as simple to set up and use as Leiningen quite yet, but I’m surprised at how far I’ve been able to push it in such a short time.
Assuming your computer is set up properly (I’ll explain what that means further down, because it isn’t as simple as I’d like), you can do this at your command line of choice:
$ quill new app my-project mytool
... Creates a project skeleton for my-project, containing the
... code for an application called mytool.
$ cd my-project
$ ./bin/mytool.tcl Hello World
my-project 0.0a0
Args: <Hello World>
$ quill build
... Builds the application as ./bin/mytool.kit
$ ./bin/mytool.kit I'm a Program
my-project 0.0a0
Args: <I'm a Program>
$ quill install
... Installs ./bin/mytool.kit to ~/bin
$ mytool I'm Installed
my-project 0.0a0
Args: <I'm Installed>
In just a couple of minutes, you can go from a standing start to an executable file which you could give to someone else. Mind you, you still have to write the code and the documentation (and the test suite) but the basic skeleton is there.
The cool thing about this is that it will make it possible for me to put together small applications and send them to people. TCL is a great language for writing small programs…but you need to have TCL installed on your computer to run a simple TCL script. With Quill, I can write a simple script, and immediately package it up for delivery to a computer that doesn’t have TCL.
In addition to the above, Quill can:
- Format attractive HTML documentation for you, with navigation links.
- Run your test suites (once you’ve written them).
- Build library packages for deployment on other people’s computers.
- Pull down external dependencies (from ActiveState‘s “teapot repository”), and include them in your projects.
OK, now, back to those weasel words about having to have your computer set up properly. For Quill 0.1.0,
- You need to have ActiveTcl 8.6.1 installed on your computer. You can download ActiveTcl for free from ActiveState.
- It has to be installed on your “path”. (Programmers, you’ll know what this means.)
- You need to have installed the Quill executable into a directory on your path.
- To build executables, you need to have ActiveState’s TclDevKit tools, which are not free, alas (but there’s a free trial).
And then, of course, there will be other issues. Quill has been tested on Mac OS X. It was intended from the get-go to run also on Windows and Linux, both of which I’m familiar with; but I’ve not yet done so, and it’s possible there will be glitches. (If you try Quill, please report any problems using the Quill issue tracker at GitHub).
Work on Quill is on-going. Quill currently builds as a “starkit”, meaning that it depends on the version of TCL you have installed on your system. The next step is to build it as a standalone executable, and enable it to build projects for whatever version of TCL you happen to be using; and then, for pure-TCL projects, enable it to build standalone executables for other platforms (i.e, so that I can build Quill for Windows on my OS X machine.)
So much to do!
Previous Post

August 1, 2014
Stan Rogers: Watching the Apples Grow
Next Post

August 3, 2014 Lumen Fidei: The Ten Commandments, an Invitation to Love
Browse Our Archives
Select a Category Admin App o' the Morning Ask the Dogmat Believing Thomas Bits of Fiction Blasts from the Past Bootstrapping the Interior Life Catholic Mom Christian Living Deep Thoughts from the Doghouse Dominicana Evangelii Gaudium Interviews It Was A Dark and Stormy Night Links to This and That Lumen Fidei Meme Watch On Writing Operation Gratitude Pedant Errant Photography Quill Random Barkings S'Mary's World Shakers of Salt Software Development The Dog Whistler The Dogmat Sez Third Orders Thomas Aquinas Uncategorized Vikings at Dinos Woof Guide to Cinema Woof Guide to History Woof Guide to Literature Woof Guide to Obscure Catholic Music Woof Guide to Philosophy Woof Guide to Popular Music Woof Guide to Technology Woof Guide to Theology Words I Wish I'd Written Works For Me
Select a Month September 2016 August 2016 June 2016 May 2016 April 2016 March 2016 February 2016 January 2016 December 2015 November 2015 October 2015 September 2015 August 2015 July 2015 June 2015 May 2015 April 2015 March 2015 February 2015 January 2015 December 2014 November 2014 October 2014 September 2014 August 2014 July 2014 June 2014 May 2014 April 2014 March 2014 February 2014 January 2014 December 2013 November 2013 October 2013
Follow Us!
TAKE THE
Religious Wisdom Quiz
What does "Hoshea" mean in Hebrew?
Select your answer to see how you score.
The Lord is Holy Salvation God's Messenger Chosen One
Related posts from Cry 'Woof'
Second Look: Amazon Echo after One Week
First Look: Amazon Echo, or Alexa Tells You...
TRENDING AT PATHEOS Catholic
Rejecting Doom: Christian Hope And Human Action
Christianity is a religion of hope. We are to have hope and...
It’s What Comes From Within Which Matters
One of the most difficult things for us to understand is why...
Why I Choose the Eucharist Over the Sermon
Choose the Eucharist, Not the Sermon What are we supposed to get...
5 Design Elements Found in Spiritually Rooted Homes
Putting Spirituality Into Home Decor Our homes are more than our living...
Credo: A Story of God Told with the...
About 10 years ago, I began to imagine a personal "Credo" that...
The Anatomy of Divine Revelation in Catholic Thought
The claim that God has made Himself known to human beings is...
view all Catholic blogs
Ad-Free & Subscriber Log-In Subscription Support
- About Us
- 2026 Calendar
- Videos
- Podcasts
- Library of World Religions
- Faith In Media Tracker
- Advertise With Us
- Write for Us
- Privacy Policy
- Terms of Service
- Do Not Sell My Data
- Contact Us
- Radiant Digital
- Manage Newsletter Subscriptions
- Unsubscribe From Notifications
- Sitemap
Copyright 2008-2026, Patheos. All rights reserved.
Subscription Support Ad-Free & Subscriber Log-In









