[Bese-devel] Re: Proposal (was: [Lispweb] [ANN] UnCommon Web 0.2 -	learning to walk)
    Marco Baringer 
    mb at bese.it
       
    Tue Mar  2 18:17:14 UTC 2004
    
    
  
On Martedì, mar 2, 2004, at 17:52 Europe/Rome, rm at fabula.de wrote:
> Just a question: i'm currently using the yaclml:tal stuff from within 
> araneida.
> What do you think of making LOOKUP-TAL-VARIABLE a generic method 
> instead of a
> function? That way one could path all sorts of interesting things to 
> the tal renderer.
> Think of specialising lookup-tal-variable for uncommonsql queries that 
> return
> CLOS objects ...  one could do a TAL:DOLIST over a query result and 
> have a method
> that returns the slot values of CLOS object.
I think it's an excellent idea (sorta goes against the whole "code in 
one place presentation elswhere" idea, but I'm still deciding about 
that). However, we'd need to define a tal enviroment api, would this 
cover everything you need:
(defgeneric lookup-tal-variable (name enviroment)
   (:documentation "Return the value assciated with NAME (a
   symbol) in the enviroment ENVIROMENT."))
(defgeneric extend-tal-enviroment (new-env old-env)
   (:documentation "Create a new enviroment with all the bindings
   in both NEW-ENV and OLD-ENV. If both enviroments bind the same
   names the bindings in NEW-ENV must shadow those in OLD-ENV."))
(defgeneric add-binding (name value enviroment)
   (:documentation "Create a new enviroment which is like
   ENVIROMENT but also has VALUE bound to NAME."))
This should be enough to genericly implement DOLIST and INCLUDE which 
are, so far, the only tags i have which mess with the enviroment. It's 
been implemented in yaclml--dev--0.4--patch-5.
Makes me wonder if cacheable/lazy enviroments would be a good idea.
p.s. - Would it be dificult to write an araneida backend for ucw?
--
Marco
Ring the bells that still can ring.
Forget the perfect offering.
There is a crack in everything.
That's how the light gets in.
	-Leonard Cohen
    
    
More information about the bese-devel
mailing list