Is using TclX acceptable?

Jordan K. Hubbard jkh at
Sat Apr 14 22:20:42 PDT 2007

On Apr 14, 2007, at 7:58 PM, Elias Pipping wrote:

> I'll begin with a story - scroll down to the part
> with exclamation marks in front if you're in a hurry

I think there are three answers to your question (well, two answers to  
your specific question and an answer to a question you did not ask :-)

1. As Kevin has already pointed out, MacPorts is still stuck  
supporting Panther for now, so relying on the full feature set of the  
"Batteries Included Tcl" we started shipping with Tiger isn't going to  
work, as much as it would be nice.

2. Once Leopard is released, unless MacPorts is completely rewritten  
in Ruby or ${NewLanguageHotness}, I think leveraging more of the  
Batteries Included distribution would be a fine idea, and not because  
I'm trying to get Tcl even more deeply entrenched but because, let's  
face it, BI Tcl includes a lot of really nice functions that would  
make MacPorts code more powerful and concise if leveraged, so why not  
leverage it?  If people don't, then I have to say that there was  
little point in including a more functional Tcl distribution by  
default.  Other platforms, should they ever become truly significant  
targets for MacPorts, also support TclX so that's no barrier to entry  

So, I guess to answer your question directly:  Yes, great idea, just  
not yet.

To answer the question you didn't ask, namely: "What's the best way to  
implement something like a recursive glob function if other  
constraints keep me from using Tcl?"

Write it in C and stick it in Pextlib.  Sorry, I know that's an  
annoying answer, but it's how I'd do it.  Including great big chunks  
of TclX instead (since, as Kevin also pointed out, it's fairly  
interdependent) would be a far less palatable alternative and far less  
self-contained than a simple C function added to base.

- Jordan

-------------- next part --------------
An HTML attachment was scrubbed...

More information about the macports-dev mailing list