Re: [Templates] TT in callback

[prev] [thread] [next] [Date index for 2005/01/07]

From: Harry Jackson
Subject: Re: [Templates] TT in callback
Date: 10:39 on 07 Jan 2005
Perrin Harkins wrote:
> On Thu, 2005-01-06 at 11:08 +0000, Andy Wardley wrote:
> 
>>I must admit it worries me slightly that I come down 90% in favour of one
>>approach and you're swung 99.9% the other way.  Assuming the efficiency 
>>problem goes away in TT3, is your position that non-localising is the 
>>correct behaviour by default, or rather that the name of the directive 
>>"INCLUDE" suggests that the template is processed inline and thus the 
>>user is expecting the variables to be imported, regardless of whether 
>>this is the more useful behaviour or not?
> 
> 
> It's both of those.  I think that:
> - The current version of INCLUDE can be a significant performance hit
> for templates with lots of INCLUDE calls (vs. PROCESS).
> - It's not technically possible for localising (the UK spelling! my
> e-mail client is freaking out!) to be as fast as not localising in TT3.
> - Most people don't even know that INCLUDE has this behavior and might
> not want it if they did know.  This is what I draw from the surprise
> that people always express when this comes up on the list.
> - The word "INCLUDE" clearly implies it is the normal way to call other
> templates.
> - The word "INCLUDE" makes it sound like templates are being inlined.

When I first started using TT this is what I inferred from the word. As 
Larry says it was too simliar to the C\C++ include and I made the 
assumption and we all know what they say about "assume". It was only 
after spotting the entry in the Badger book P144 that I saw my mistake.

> Although people on the list talk about setting variables inside of
> templates, I think this is quite rare in normal usage.  The only thing I
> see people do frequently is pass variables in macro and include calls,
> which is why I like the suggestion Mark Mills just made: localise those
> variables, and leave everything else alone.  I also favo(u)r having a
> localising version with another name, like LINCLUDE or SAFE_INCLUDE.
> PROCESS vs. INCLUDE only makes sense to someone who knows the internals.

Would you then alias INCLUDE to PROCESS?

You know a lot more about the work involved than me but for backwards 
compatibility but would it not be easier to make INCLUDE_FAST an alias 
to PROCESS. My reasoning is probably a bit mad but here goes.

Most people that read the next version of the badger or the docs will 
see both INCLUDE and INCLUDE_FAST and of course as soon as they see the 
word FAST they are going to want to know more and spot the distinction 
between the two. Its purely psychological but then I think that INCLUDE 
is fine once you have found the bits in the badger book that describe 
what it does.








_______________________________________________
templates mailing list
templates@xxxxxxxxxxxxxxxx.xxx
http://lists.template-toolkit.org/mailman/listinfo/templates

(message missing)

[Templates] TT in callback
Arshavir Grigorian 19:13 on 03 Jan 2005

Re: [Templates] TT in callback
Perrin Harkins 21:14 on 03 Jan 2005

Re: [Templates] TT in callback
Arshavir Grigorian 21:55 on 03 Jan 2005

Re: [Templates] TT in callback
Perrin Harkins 22:02 on 03 Jan 2005

Re: [Templates] TT in callback
Arshavir Grigorian 22:39 on 03 Jan 2005

Re: [Templates] TT in callback
Perrin Harkins 23:21 on 03 Jan 2005

Re: [Templates] TT in callback
Michael Peters 14:21 on 04 Jan 2005

Re: [Templates] TT in callback
Sean T Allen 14:46 on 04 Jan 2005

Re: [Templates] TT in callback
Perrin Harkins 15:48 on 04 Jan 2005

Re: [Templates] TT in callback
Andy Wardley 11:26 on 05 Jan 2005

Re: [Templates] TT in callback
Perrin Harkins 15:18 on 05 Jan 2005

Re: [Templates] TT in callback
Andy Wardley 11:08 on 06 Jan 2005

Re: [Templates] TT in callback
Perrin Harkins 19:34 on 06 Jan 2005

Re: [Templates] TT in callback
Harry Jackson 10:39 on 07 Jan 2005

Re: [Templates] TT in callback
Perrin Harkins 14:02 on 07 Jan 2005

Re: [Templates] TT in callback
Bill Moseley 16:11 on 07 Jan 2005

Re: [Templates] TT in callback
Perrin Harkins 16:23 on 07 Jan 2005

Re: [Templates] TT in callback
Bill Moseley 19:22 on 08 Jan 2005

Re: [Templates] TT in callback
C. Chad Wallace 18:05 on 07 Jan 2005

Re: [Templates] TT in callback
Tony Bowden 00:14 on 04 Jan 2005

Re: [Templates] TT in callback
Cees Hek 02:38 on 04 Jan 2005

Re: [Templates] TT in callback
merlyn (Randal L. Schwartz) 02:48 on 04 Jan 2005

Re: [Templates] TT in callback
Perrin Harkins 19:55 on 04 Jan 2005

Re: [Templates] TT in callback
Cees Hek 22:18 on 04 Jan 2005

Re: [Templates] TT in callback
Perrin Harkins 23:54 on 04 Jan 2005

Re: [Templates] TT in callback
Cees Hek 02:39 on 05 Jan 2005

Re: [Templates] TT in callback
Andy Wardley 10:59 on 05 Jan 2005

Re: [Templates] TT in callback
Perrin Harkins 19:40 on 04 Jan 2005

Re: [Templates] TT in callback
Arshavir Grigorian 22:16 on 07 Jan 2005

RE: [Templates] TT in callback
Jason Gottshall 22:29 on 05 Jan 2005

Re: [Templates] TT in callback
Mark Mills 22:46 on 05 Jan 2005

RE: [Templates] TT in callback
Simon Matthews 15:58 on 06 Jan 2005

RE: [Templates] TT in callback
Larry Leszczynski 19:44 on 06 Jan 2005

RE: [Templates] TT in callback
Simon Matthews 16:53 on 07 Jan 2005

RE: [Templates] TT in callback
Perrin Harkins 17:05 on 07 Jan 2005

Re: [Templates] TT in callback
Buddy Burden 23:52 on 07 Jan 2005

Re: [Templates] TT in callback
Perrin Harkins 05:18 on 05 Jan 2005

Re: [Templates] TT in callback
Cees Hek 05:48 on 05 Jan 2005

TT Caching (Was: Re: [Templates] TT in callback)
Larry Leszczynski 17:18 on 05 Jan 2005

Re: TT Caching (Was: Re: [Templates] TT in callback)
Perrin Harkins 18:07 on 05 Jan 2005

Re: TT Caching (Was: Re: [Templates] TT in callback)
Perrin Harkins 18:28 on 05 Jan 2005

Re: TT Caching (Was: Re: [Templates] TT in callback)
Larry Leszczynski 18:18 on 05 Jan 2005

Re: TT Caching (Was: Re: [Templates] TT in callback)
Perrin Harkins 19:15 on 05 Jan 2005

Re: TT Caching (Was: Re: [Templates] TT in callback)
Octavian Rasnita 19:00 on 05 Jan 2005

Re: TT Caching (Was: Re: [Templates] TT in callback)
merlyn (Randal L. Schwartz) 19:14 on 05 Jan 2005

Re: TT Caching (Was: Re: [Templates] TT in callback)
Octavian Rasnita 07:29 on 06 Jan 2005

Re: [Templates] TT in callback
Tony Bowden 15:05 on 06 Jan 2005

Re: [Templates] TT in callback
Andy Wardley 15:50 on 06 Jan 2005

Re: [Templates] TT in callback
Tony Bowden 09:09 on 07 Jan 2005

Re: TT Caching (Was: Re: [Templates] TT in callback)
Perrin Harkins 19:14 on 06 Jan 2005

Re: TT Caching (Was: Re: [Templates] TT in callback)
Octavian Rasnita 20:32 on 06 Jan 2005

Re: TT Caching (Was: Re: [Templates] TT in callback)
Perrin Harkins 21:14 on 06 Jan 2005

Re: [Templates] TT in callback
Perrin Harkins 19:44 on 08 Jan 2005

Re: [Templates] TT in callback
Bill Moseley 20:09 on 08 Jan 2005

Re: [Templates] TT in callback
Perrin Harkins 04:42 on 10 Jan 2005

Generated at 08:55 on 15 Mar 2005 by mariachi v0.52