2008Q3 Grant Proposal: Tcl/Tk access for Rakudo

  • Author: Vadim Konovalov
  • Title: Tcl/Tk access for Rakudo
  • Synopsis: Implement Tk GUI interface for Rakudo.

Vadim Konovalov

Project Title
Tcl/Tk access for Rakudo

Implement Tk GUI interface for Rakudo.

Benefits to the Perl Community
Powerful console-based utility is useful, but it becomes much more attractive when it has ability to easily create interfaces, so demos and screenshots will be better looking. Given that Tk 8.5 as compared to 8.4 have much more attractive look-n-feel (better screen fonts and native widgets via tile) it will be much benefit for users.

Mostly, this is yet another CPAN module adopted for future version of Perl.

Project Schedule
On average I will spend every day for two hours and will complete the project within 3 weeks.

I have experience of Perl programming for more than 10 years, I am now the maintainer of Tcl and Tcl::Tk CPAN modules, so have understaiding of interconnecting Perl and Tcl/Tk.

Amount Requested
I would like to ask $1000 for the whole project.


Have you verified that rakudo comes with all necessary prerequisites to actually run Tk?

I know that it's module support is still very hacky (although pmichaud is planning on improving that real soon[tm]).

Also what's the plan if there are any blockers from rakudo? Hack on it? or stall the project?

Since Audrey revived pugs, I'd also like to know if you plan to support that too.

Having something visual to show off for Rakudo would be nice, IMO. My only concern is that maybe it would be a little premature given the state of things.

I am currently no expert in parrot, but, as long as C is reachable from parrot via NCI (see for example http://perlmonks.org/?node_id=697451) the embedding is perfectly possible

Also, Pugs can embed Tcl/Tk in a same way as embedding of Perl5

Maybe it's just me, but I do find it a bit...blasphemous to embed Tcl into parrot.

Leon Timmermans: tcl already in ./languages/ directory of parrot, however I was intended to add Tk (with real GUI) - but I am 100% sure it will be in sooner or later...

IMO - the sooner it will be in, the more interesting will be

The tcl in /languages is partcl, the Tcl implementation on parrot. I understand Tcl::Tk uses the Oosterhout Tcl implementation as a bridge to access Tk. It's that approach, embeding an external language into parrot, that I find blasphemous. If you could use partcl as a replacement that would be quite cool, but as far as I understand (but I'm not an insider) it is not mature enough yet to support that.

Leon Timmermans: no objection to what you've said, but one correction.

the following sentence is twisted: "Tcl::Tk uses the Oosterhout Tcl implementation as a bridge to access Tk"

I consider Tcl/Tk as a very useful powerful language, it could also include some powerful widget sets (such as BLT Tix or whatever), and Tcl::Tk gives connection to it.

You probably have been confused by Perl/Tk, - this is a recompilation of Tk without Tcl, and it gives much less power than Tcl/Tk.

It is Perl/Tk who is twisted, not Tcl/Tk. Many languages (ruby, python) have access to Tcl/Tk without throwing away Tcl, and this improves flexibility, maintainability, quality, etc.

About TPF

The Perl Foundation - supporting the Perl community since 2000. Find out more at www.perlfoundation.org.

About this Entry

This page contains a single entry by Alberto Simões published on August 1, 2008 12:00 PM.

2008Q3 Grant Proposal: Perl cross-compilation for linux and wince was the previous entry in this blog.

2008Q3 Grant Proposal: Barcode support in Act is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.


OpenID accepted here Learn more about OpenID
Powered by Movable Type 6.2.2