Next: Introduction, Previous: (dir), Up: (dir) [Contents][Index]
This is the talcl Reference Manual, version 0.2, generated automatically by Declt version 3.0 "Montgomery Scott" on Tue Dec 22 15:10:54 2020 GMT+0.
• Introduction | What talcl is all about | |
• Systems | The systems documentation | |
• Modules | The modules documentation | |
• Files | The files documentation | |
• Packages | The packages documentation | |
• Definitions | The symbols documentation | |
• Indexes | Concepts, functions, variables and data types |
This library is a significant branch of the TAL implementation found in arnesi / ucw
See the examples directory for runable lisp code and tal templates.
Flexibility, Debugability, and Consistency !
To make working with templates (particularly XML/HTML) simple and support designer type folks working on them. Support the goal of non-lispers contributing to projects
To be more flexible, easier to use, easier to debug, and with more helpful error messages than the original TAL from arnesi and ucw. TAL now has a single execution environment (the common lisp env) rather than its own private tal environment. It accomplishes this by runtime binding using progv. (IE: Most template variables are declared special. however due to package locks, anything that is in package :cl will not be declared, and thus produce warnings, but will still work correctly.)
Easier to debug (again), it was very difficult to deduce what was wrong in most other template libraries, and I wanted to easily tell what part of the file was broken.
Runtime information about what handlers and variables are available
in the environment, can be accessed <tal:print-handlers>
<tal:describe-handlers>
, <tal:print-env>
can easily include "bodies" that are passed as parameters to
subtemplates
See: examples/window.tal
integrate well with cxml dom & our buildnode library. We want to be able to embed template content into our dom document in an efficient manner. Currently these are stored as processing instructions in the dom, and in serialization we play out the sax events we buffered when processing the template
Tal tags can just be functions in common lisp that return cxml:dom snippets (see: buildnode)
Lisp functions can just return direct stream writes / strings to the
output document using
<tal:content-as-is>
- bypasses all validation careful!
Plain text template support -> <tal:tal> stuff </tal:tal>
renders
as just the text (can be the whole template).
Available without loading arnesi, yaclml, or ucw
A single environment (tal environment is used only to pass values as parameters); TAL processing occurs in the standard common lisp runtime. TAL package determines what is currently available.
Fixed inconsistencies about "$var" in non tal tags vs "var" in tal tags. $var should now work everywhere whether or not the tag or attribute is tal.
More consistancy in evaluation rules
More handlers, all handlers have tests
tal:def handler for defining new sub templates
output
tal expression strings work in the body of a tag as well as attributes
$$ escapes to a single $ sign
$ evaluates one expression
$var and ${var} returns the value of the var
$(some-fn var) - calls some-fn with the value of var in the current package / env and splices the return into the doc
${nil} doesnt print anything
DOM nodes and lists / vectors of dom-nodes can be spliced into the template EG: <span>$some-dom-content</span> will correctly put the dom content into the template
TAL handlers are tags / attributes that tal processes in a special way.
These are the descriptions of each of the tal handlers that are available. This output was generated by the <tal:describe-handlers /> tag
NET.COMMON-LISP.PROJECT.BESE.TAL.CORE::DESCRIBE-HANDLERS
[symbol]
DESCRIBE-HANDLERS names a compiled function:
Lambda-list: (TAG)
Derived type: (FUNCTION (T) *)
Documentation:
TAG-HANDLER: Describes (in an comment), all tags and attribute handlers that are known
(in *tal-attribute-handlers* or *tal-tag-handlers*)
Source file: /home/ACCELERATION/russ/lisp/talcl/src/handlers.lisp
NET.COMMON-LISP.PROJECT.BESE.TAL.CORE::DESCRIBE-HANDLER
[symbol]
DESCRIBE-HANDLER names a compiled function:
Lambda-list: (TAG)
Derived type: (FUNCTION (T) *)
Documentation:
TAG-HANDLER: Describes (in an comment) the tag or attribute handler named by the
attribute tal:name
Source file: /home/ACCELERATION/russ/lisp/talcl/src/handlers.lisp
NET.COMMON-LISP.PROJECT.BESE.TAL.CORE::PRINT-HANDLERS
[symbol]
PRINT-HANDLERS names a compiled function:
Lambda-list: (TAG)
Derived type: (FUNCTION (T) (VALUES CONS &OPTIONAL))
Documentation:
TAG-HANDLER: Lists (in a comment) the tag and attribute handlers
that are currently registered.
Source file: /home/ACCELERATION/russ/lisp/talcl/src/handlers.lisp
NET.COMMON-LISP.PROJECT.BESE.TAL.CORE::PRINT-ENV
[symbol]
PRINT-ENV names a compiled function:
Lambda-list: (TAG)
Derived type: (FUNCTION (T) *)
Documentation:
TAG-HANDLER: prints as a comment information about the
tal-environment where this tag was encountered
Source file: /home/ACCELERATION/russ/lisp/talcl/src/handlers.lisp
NET.COMMON-LISP.PROJECT.BESE.TAL.CORE:DEF
[symbol]
DEF names a compiled function:
Lambda-list: (TAG)
Derived type: (FUNCTION (T) (VALUES NULL &OPTIONAL))
Documentation:
TAG-HANDLER: creates an inline sub-template available for the duration
of the templates execution.
The template should be named by the tal:name attribute or by
tal:name-expression if it should be evaluated.
Example:
<tal:def tal:name='deffed-template'>
<div>
<span tal:when='$selected'>*</span>
<span tal:content='$label'</span>
</div>
</tal>
tal:def can also be used to create string constants when used with tal:type=\"string\"
Example:
<tal:def tal:name='deffed-string' tal:type='string'>This is my string</tal>
results in a let binding (deffed-string \"This is my string\")
Source file: /home/ACCELERATION/russ/lisp/talcl/src/handlers.lisp
NET.COMMON-LISP.PROJECT.BESE.TAL.CORE:INCLUDE
[symbol]
INCLUDE names a compiled function:
Lambda-list: (TAG)
Derived type: (FUNCTION (T) *)
Documentation:
TAG-HANDLER: includes another template at this point in the file.
The template should be named by the tal:name attribute or by
tal:name-expression if it should be evaluated.
The path to the referenced template should be relative to the location
of the template it is included in.
The environment can be extended by including attributes in the
parameter namespace, or immediate children in the parameter namespace.
Example:
<tal:include tal:name-expression='$tal-name' param:foo='foo' />
<tal:include tal:name='other-template.tal' param:foo='foo'>
<param:contents>
<div>
<span tal:when='$selected'>*</span>
<span tal:content='$label'</span>
</div>
</param:contents>
</tal>
The template other-template.tal will be evaluated with the additional
parameters of 'foo' and 'contents'.
Source file: /home/ACCELERATION/russ/lisp/talcl/src/handlers.lisp
NET.COMMON-LISP.PROJECT.BESE.TAL.CORE:LOOP
[symbol]
LOOP names a compiled function:
Lambda-list: (TAG)
Derived type: (FUNCTION (T) *)
Documentation:
TAG-HANDLER: Loop across a list and repeat the children. On each
iteration the environment is extended with the value
tal:list should evaluate to a list
tal:constant-list is parsed as a comma separated string
<tal:loop tal:var='class' tal:list='$efficiencies'>
<label class='map-control-item'>
<img class='marker-icon ${$class}' />
<span class='text' tal:content='$class'/>
<input type='checkbox' name='filter-efficiency' item-type='${$class}' />
</label>
</tal:loop>
assuming that $efficiencies resolves to the list {foo,bar}.
<label class='map-control-item'>
<img class='marker-icon foo' />
<span class='text' tal:content='foo'/>
<input type='checkbox' name='filter-efficiency' item-type='foo' />
</label>
<label class='map-control-item'>
<img class='marker-icon bar' />
<span class='text' tal:content='bar'/>
<input type='checkbox' name='filter-efficiency' item-type='bar' />
</label>
Source file: /home/ACCELERATION/russ/lisp/talcl/src/handlers.lisp
NET.COMMON-LISP.PROJECT.BESE.TAL.CORE::LISP
[symbol]
LISP names a compiled function:
Lambda-list: (TAG)
Derived type: (FUNCTION (T) *)
Documentation:
TAG-HANDLER: evaluate the body of the tag as lisp code.
Source file: /home/ACCELERATION/russ/lisp/talcl/src/handlers.lisp
NET.COMMON-LISP.PROJECT.BESE.TAL.CORE::WITHOUT-READER
[symbol]
WITHOUT-READER names a compiled function:
Lambda-list: (TAG)
Derived type: (FUNCTION (T) *)
Source file: /home/ACCELERATION/russ/lisp/talcl/src/handlers.lisp
NET.COMMON-LISP.PROJECT.BESE.TAL.CORE:TAL
[symbol]
TAL names a compiled function:
Lambda-list: (TAG)
Derived type: (FUNCTION (T) *)
Source file: /home/ACCELERATION/russ/lisp/talcl/src/handlers.lisp
NET.COMMON-LISP.PROJECT.BESE.TAL.CORE:IN-PACKAGE
[symbol]
IN-PACKAGE names a compiled function:
Lambda-list: (TAG)
Derived type: (FUNCTION (T) *)
Documentation:
ATTRIBUTE-HANDLER: sets the package in which lisp evaluation
happens.
Source file: /home/ACCELERATION/russ/lisp/talcl/src/handlers.lisp
NET.COMMON-LISP.PROJECT.BESE.TAL.CORE::LET
[symbol]
LET names a compiled function:
Lambda-list: (TAG)
Derived type: (FUNCTION (T) *)
Documentation:
ATTRUBTE-HANDLER: Extend environment with a given list of bindings,
as for LET form.
Example:
<div tal:let='foo 3'><div tal:content='$foo'/></div>
Goes to: <div><div>3</div></div>
Source file: /home/ACCELERATION/russ/lisp/talcl/src/handlers.lisp
NET.COMMON-LISP.PROJECT.BESE.TAL.CORE::UNLESS
[symbol]
UNLESS names a compiled function:
Lambda-list: (TAG)
Derived type: (FUNCTION (T) *)
Documentation:
ATTRIBUTE-HANDLER: Causes this tag to only appear when
the evaluated value of the attribute is nil.
Source file: /home/ACCELERATION/russ/lisp/talcl/src/handlers.lisp
NET.COMMON-LISP.PROJECT.BESE.TAL.CORE:WHEN
[symbol]
WHEN names a compiled function:
Lambda-list: (TAG)
Derived type: (FUNCTION (T) *)
Documentation:
ATTRIBUTE-HANDLER: Causes this tag to only appear when
the evaluated value of the attribute is not nil.
Source file: /home/ACCELERATION/russ/lisp/talcl/src/handlers.lisp
NET.COMMON-LISP.PROJECT.BESE.TAL.CORE:REPLACE
[symbol]
REPLACE names a compiled function:
Lambda-list: (TAG)
Derived type: (FUNCTION (T) *)
Documentation:
ATTRIBUTE-HANDLER: Replaces the content of the tag with the
evaluated value of the attribute. Whether the content is escaped
depends upon the sibling attribute 'tal:escape-html
Example:
<div tal:replace='$foo' class='jack'/>
Gets output as:
|Whatever was in $foo|
Source file: /home/ACCELERATION/russ/lisp/talcl/src/handlers.lisp
NET.COMMON-LISP.PROJECT.BESE.TAL.CORE::CONTENT-AS-IS
[symbol]
CONTENT-AS-IS names a compiled function:
Lambda-list: (TAG)
Derived type: (FUNCTION (T) *)
Documentation:
ATTRIBUTE-HANDLER:
Replaces the content of the tag with the evaluated value of the
attribute. This tag does not escape the content.
Example:
<div tal:content-as-is='$foo' class='jack'/>
Gets output as
<div class='jack'>
|Whatever was in $foo|
</div>
Source file: /home/ACCELERATION/russ/lisp/talcl/src/handlers.lisp
NET.COMMON-LISP.PROJECT.BESE.TAL.CORE:CONTENT
[symbol]
CONTENT names a compiled function:
Lambda-list: (TAG)
Derived type: (FUNCTION (T) *)
Documentation:
ATTRIBUTE-HANDLER:
Replaces the content of the tag with the evaluated value of the
attribute. This tag escapes its content to be html-safe.
Example:
<div tal:content='$foo' class='jack'/>
Gets output as
<div class='jack'>
|Whatever was in $foo|
</div>
Source file: /home/ACCELERATION/russ/lisp/talcl/src/handlers.lisp
NET.COMMON-LISP.PROJECT.BESE.TAL.CORE::TALABLE-STRINGS
[symbol]
TALABLE-STRINGS names a compiled function:
Lambda-list: (TAG)
Derived type: (FUNCTION (T) *)
Source file: /home/ACCELERATION/russ/lisp/talcl/src/handlers.lisp
;; Copyright (C) 2011 Acceleration.net, Russ Tyndall
;; email: bobbysmith007@gmail.com
;;
;; Copyright (c) 2002-2006, Edward Marco Baringer
;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
;; met:
;;
;; - Redistributions of source code must retain the above copyright
;; notice, this list of conditions and the following disclaimer.
;;
;; - Redistributions in binary form must reproduce the above copyright
;; notice, this list of conditions and the following disclaimer in the
;; documentation and/or other materials provided with the distribution.
;;
;; - Neither the name of Edward Marco Baringer, nor BESE, nor the names
;; of its contributors may be used to endorse or promote products derived
;; from this software without specific prior written permission.
;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
;; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
;; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
;; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
;; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
;; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
;; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
;; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
;; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
;; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Next: Modules, Previous: Introduction, Up: Top [Contents][Index]
The main system appears first, followed by any subsystem dependency.
• The talcl system |
BSD
TAL in CL
0.2
talcl.asd (file)
src (module)
Modules are listed depth-first from the system components tree.
• The talcl/src module |
talcl (system)
src/
Files are sorted by type and then listed depth-first from the systems components trees.
• Lisp files |
Next: The talcl/src/packages․lisp file, Previous: Lisp files, Up: Lisp files [Contents][Index]
talcl.asd
talcl (system)
Next: The talcl/src/tal-environment․lisp file, Previous: The talcl․asd file, Up: Lisp files [Contents][Index]
src (module)
src/packages.lisp
Next: The talcl/src/sax-buffer․lisp file, Previous: The talcl/src/packages․lisp file, Up: Lisp files [Contents][Index]
packages.lisp (file)
src (module)
src/tal-environment.lisp
Next: The talcl/src/compile․lisp file, Previous: The talcl/src/tal-environment․lisp file, Up: Lisp files [Contents][Index]
tal-environment.lisp (file)
src (module)
src/sax-buffer.lisp
Next: The talcl/src/dom․lisp file, Previous: The talcl/src/sax-buffer․lisp file, Up: Lisp files [Contents][Index]
sax-buffer.lisp (file)
src (module)
src/compile.lisp
Next: The talcl/src/generator․lisp file, Previous: The talcl/src/compile․lisp file, Up: Lisp files [Contents][Index]
compile.lisp (file)
src (module)
src/dom.lisp
Next: The talcl/src/handlers․lisp file, Previous: The talcl/src/dom․lisp file, Up: Lisp files [Contents][Index]
dom.lisp (file)
src (module)
src/generator.lisp
Previous: The talcl/src/generator․lisp file, Up: Lisp files [Contents][Index]
generator.lisp (file)
src (module)
src/handlers.lisp
Next: Definitions, Previous: Files, Up: Top [Contents][Index]
Packages are listed by definition order.
• The talcl.system package | ||
• The net.acceleration.talcl package | ||
• The net.common-lisp.project.bese.tal.include-params package | ||
• The net.common-lisp.project.bese.tal.core package |
Next: The net․acceleration․talcl package, Previous: Packages, Up: Packages [Contents][Index]
talcl.asd
Next: The net․common-lisp․project․bese․tal․include-params package, Previous: The talcl․system package, Up: Packages [Contents][Index]
packages.lisp (file)
talcl
Next: The net․common-lisp․project․bese․tal․core package, Previous: The net․acceleration․talcl package, Up: Packages [Contents][Index]
packages.lisp (file)
tal.include-params
Previous: The net․common-lisp․project․bese․tal․include-params package, Up: Packages [Contents][Index]
An HTML template authoring library.
packages.lisp (file)
tal
Definitions are sorted by export status, category, package, and then by lexicographic order.
• Exported definitions | ||
• Internal definitions |
Next: Internal definitions, Previous: Definitions, Up: Definitions [Contents][Index]
• Exported special variables | ||
• Exported macros | ||
• Exported functions | ||
• Exported generic functions | ||
• Exported conditions | ||
• Exported classes |
Next: Exported macros, Previous: Exported definitions, Up: Exported definitions [Contents][Index]
Default mapping of xmlns to packages.
compile.lisp (file)
Next: Exported functions, Previous: Exported special variables, Up: Exported definitions [Contents][Index]
Defines a new attribute handler name ATTRIBUTE.
compile.lisp (file)
Defines a new tag handlec named TAG-NAME.
compile.lisp (file)
Binds tag-name tag-attributes and tag-body
compile.lisp (file)
Provides error handler that will handle filling unbound variable
references with a value
handler can be (() ... body ) or ((name) ... body)
the return value of handler will be the value inserted in place of the missing value
If you provide name, it will be bound to the name of the unbound variable for the
duration of the handler
see call-lambda-with-default-missing-value for an example of use
compile.lisp (file)
Next: Exported generic functions, Previous: Exported macros, Up: Exported definitions [Contents][Index]
This will call a template with all the tal-environment variables bound into the lisp dynamic environment.
tal-environment.lisp (file)
compile.lisp (file)
compile.lisp (file)
ATTRIBUTE-HANDLER:
Replaces the content of the tag with the evaluated value of the
attribute. This tag escapes its content to be html-safe.
Example:
<div tal:content=’$foo’ class=’jack’/>
Gets output as
<div class=’jack’>
|Whatever was in $foo|
</div>
handlers.lisp (file)
TAG-HANDLER: creates an inline sub-template available for the duration
of the templates execution.
The template should be named by the tal:name attribute or by
tal:name-expression if it should be evaluated.
Example:
<tal:def tal:name=’deffed-template’>
<div>
<span tal:when=’$selected’>*</span>
<span tal:content=’$label’</span>
</div>
</tal>
tal:def can also be used to create string constants when used with tal:type="string"
Example:
<tal:def tal:name=’deffed-string’ tal:type=’string’>This is my string</tal>
results in a let binding (deffed-string "This is my string")
handlers.lisp (file)
dom.lisp (file)
dom.lisp (file)
Find the given name in a list of directories
For security if the roots are absolute, ensure that the resulting
file is actually contained in those directories
i.e. prevent escaping the bounds via ../../../
tal-environment.lisp (file)
ATTRIBUTE-HANDLER: sets the package in which lisp evaluation happens.
handlers.lisp (file)
TAG-HANDLER: includes another template at this point in the file.
The template should be named by the tal:name attribute or by
tal:name-expression if it should be evaluated.
The path to the referenced template should be relative to the location
of the template it is included in.
The environment can be extended by including attributes in the
parameter namespace, or immediate children in the parameter namespace.
Example:
<tal:include tal:name-expression=’$tal-name’ param:foo=’foo’ />
<tal:include tal:name=’other-template.tal’ param:foo=’foo’>
<param:contents>
<div>
<span tal:when=’$selected’>*</span>
<span tal:content=’$label’</span>
</div>
</param:contents>
</tal>
The template other-template.tal will be evaluated with the additional parameters of ’foo’ and ’contents’.
handlers.lisp (file)
TAG-HANDLER: Loop across a list and repeat the children. On each
iteration the environment is extended with the value
tal:list should evaluate to a list
tal:constant-list is parsed as a comma separated string
<tal:loop tal:var=’class’ tal:list=’$efficiencies’>
<label class=’map-control-item’>
<img class=’marker-icon ${$class}’ />
<span class=’text’ tal:content=’$class’/>
<input type=’checkbox’ name=’filter-efficiency’ item-type=’${$class}’ />
</label>
</tal:loop>
assuming that $efficiencies resolves to the list {foo,bar}.
<label class=’map-control-item’>
<img class=’marker-icon foo’ />
<span class=’text’ tal:content=’foo’/>
<input type=’checkbox’ name=’filter-efficiency’ item-type=’foo’ />
</label>
<label class=’map-control-item’>
<img class=’marker-icon bar’ />
<span class=’text’ tal:content=’bar’/>
<input type=’checkbox’ name=’filter-efficiency’ item-type=’bar’ />
</label>
handlers.lisp (file)
compile.lisp (file)
dom.lisp (file)
compile.lisp (file)
Reads a single form from the string EXPRESSION using the TAL expression read table.
compile.lisp (file)
ATTRIBUTE-HANDLER: Replaces the content of the tag with the
evaluated value of the attribute. Whether the content is escaped
depends upon the sibling attribute ’tal:escape-html
Example:
<div tal:replace=’$foo’ class=’jack’/>
Gets output as:
|Whatever was in $foo|
handlers.lisp (file)
Runs a tal template returning the string produced
tal-environment.lisp (file)
Runs a tal template returning the string produced
tal-environment.lisp (file)
handlers.lisp (file)
Creates a fresh tal environment from the plist PAIRS.
tal-environment.lisp (file)
Make a tal-processing-instruction. It’s a dom node that when processed
will insert the template in the sax stream.
The template content will never be part of the dom, which saves two changes of representation. This is about 3 times faster than tal-template-content.
dom.lisp (file)
Serialize a template into the document as children of the node passed in
This is about 3 times slower than the tal-processing-instruction
dom.lisp (file)
Transforms the lxml tree FORM into common lisp code (a series of calls to tag macros).
compile.lisp (file)
Given a tree representing some LXML code with TAL attributes returns the yaclml tag using code for generating the HTML. Destructivly modifies TREE.
compile.lisp (file)
ATTRIBUTE-HANDLER: Causes this tag to only appear when the evaluated value of the attribute is not nil.
handlers.lisp (file)
Next: Exported conditions, Previous: Exported functions, Up: Exported definitions [Contents][Index]
generator.lisp (file)
automatically generated reader method
generator.lisp (file)
automatically generated writer method
generator.lisp (file)
generator.lisp (file)
Next: Exported classes, Previous: Exported generic functions, Up: Exported definitions [Contents][Index]
compile.lisp (file)
simple-condition (condition)
tal-runtime-error (condition)
:format-control
(quote nil)
format-control (generic function)
(setf format-control) (generic function)
:format-args
(quote nil)
format-args (generic function)
(setf format-args) (generic function)
:original-error
(quote nil)
original-error (generic function)
(setf original-error) (generic function)
:template
(quote net.acceleration.talcl::*name-being-compiled*)
template (generic function)
(setf template) (generic function)
Previous: Exported conditions, Up: Exported definitions [Contents][Index]
Similar to a file-system-generator it generates out
of some root directories, however it keeps a cache of the compiled
lisp functions. The function you get back from it checks the file’s
date-modified and automatically recompiles at need.
generator.lisp (file)
file-system-generator (class)
(make-hash-table :test (quote equal))
cache (generic function)
(setf cache) (generic function)
When given a list of root directories it will search for templates in those directories.
generator.lisp (file)
tal-generator (class)
caching-file-system-generator (class)
list
:root-directories
root-directories (generic function)
(setf root-directories) (generic function)
generator.lisp (file)
standard-object (class)
file-system-generator (class)
A log-fn that accepts a string and writes it to the log
:log-fn
log-fn (generic function)
(setf log-fn) (generic function)
dom.lisp (file)
broadcast-handler (class)
Previous: Exported definitions, Up: Definitions [Contents][Index]
• Internal special variables | ||
• Internal macros | ||
• Internal compiler macros | ||
• Internal functions | ||
• Internal generic functions | ||
• Internal conditions | ||
• Internal structures | ||
• Internal classes |
Next: Internal macros, Previous: Internal definitions, Up: Internal definitions [Contents][Index]
compile.lisp (file)
The value of *PACKAGE* when tal attribute expressions and for looking up symbols in the environment.
compile.lisp (file)
A log-fn that accepts a string and writes it to the log
generator.lisp (file)
compile.lisp (file)
compile.lisp (file)
compile.lisp (file)
compile.lisp (file)
compile.lisp (file)
When calling a function with then environment, we progv the variables in This is a separate plist style binding of variables that can be accessed or used during debugging
tal-environment.lisp (file)
The generator to be used during compilation.
tal-environment.lisp (file)
compile.lisp (file)
generator.lisp (file)
The truename of the tal file being compiled.
tal-environment.lisp (file)
Whether or not to treat regular attributes and contents as talable strings.
compile.lisp (file)
Next: Internal compiler macros, Previous: Internal special variables, Up: Internal definitions [Contents][Index]
Just like IF-BIND but the var is always IT.
tal-environment.lisp (file)
Just like when expect the symbol IT will be bound to the result of TEST in BODY.
tal-environment.lisp (file)
Anaphoric IF control structure.
VAR (a symbol) will be bound to the primary value of TEST. If TEST returns a true value then THEN will be executed, otherwise ELSE will be executed.
tal-environment.lisp (file)
Bind each var in BINDINGS to a gensym, bind the gensym to
var’s value via a let, return BODY’s value wrapped in this let.
Evaluates a series of forms in the lexical environment that is
formed by adding the binding of each VAR to a fresh, uninterned
symbol, and the binding of that fresh, uninterned symbol to VAR’s
original value, i.e., its value in the current lexical
environment.
The uninterned symbol is created as if by a call to GENSYM with the
string denoted by PREFIX - or, if PREFIX is not supplied, the string
denoted by VAR - as argument.
The forms are evaluated in order, and the values of all but the last are discarded (that is, the body is an implicit PROGN).
tal-environment.lisp (file)
Just like when except VAR will be bound to the result of TEST in BODY.
tal-environment.lisp (file)
Evaluate BODY with STREAM-NAME bound to an input-stream from file FILE-NAME. ARGS is passed directly to open.
tal-environment.lisp (file)
tal-environment.lisp (file)
tal-environment.lisp (file)
Evaluate BODY with BINDINGS bound to fresh unique symbols.
Syntax: WITH-UNIQUE-NAMES ( [ var | (var x) ]* ) declaration* form*
Executes a series of forms with each VAR bound to a fresh,
uninterned symbol. The uninterned symbol is as if returned by a call
to GENSYM with the string denoted by X - or, if X is not supplied, the
string denoted by VAR - as argument.
The variable bindings created are lexical unless special declarations
are specified. The scopes of the name bindings and declarations do not
include the Xs.
The forms are evaluated in order, and the values of all but the last are discarded (that is, the body is an implicit PROGN).
tal-environment.lisp (file)
Next: Internal functions, Previous: Internal macros, Up: Internal definitions [Contents][Index]
handlers.lisp (file)
Next: Internal generic functions, Previous: Internal compiler macros, Up: Internal definitions [Contents][Index]
The $ char reader for tal expressions.
This just tries to smooth over inconsistancies encountered by using
$var-name in tal:foo attributes and regular foo attributes
compile.lisp (file)
A function that buffers sax events in body till we are sure that body will execute completely and correctly. Mostly used while providing missing template values
compile.lisp (file)
This will call a template-fn with all the tal-environment variables bound into the lisp dynamic environment.
tal-environment.lisp (file)
handlers.lisp (file)
generator.lisp (file)
compile.lisp (file)
tal-environment.lisp (file)
If you encounter an unbound template variable and we have a
*default-missing-template-value*, invoke the set-value restart with
that default
see also: call-lambda-with-default-missing-value which sets up the restart
compile.lisp (file)
When you enconter an unbound variable while executing a template function, provide a restart to bind that variable so that the template can be executed
see also: call-lambda-with-default-missing-value
which will invoke this restart with *default-missing-template-value*
if there is one
see also: with-missing-value-handler which shortcuts the rather tedious
handler-bind for this into a bare minimum handler
compile.lisp (file)
compile.lisp (file)
Returns the source code for the tal function form the tal text STRING.
compile.lisp (file)
ATTRIBUTE-HANDLER:
Replaces the content of the tag with the evaluated value of the
attribute. This tag does not escape the content.
Example:
<div tal:content-as-is=’$foo’ class=’jack’/>
Gets output as
<div class=’jack’>
|Whatever was in $foo|
</div>
handlers.lisp (file)
generator.lisp (file)
TAG-HANDLER: Describes (in an comment) the tag or attribute handler named by the attribute tal:name
handlers.lisp (file)
TAG-HANDLER: Describes (in an comment), all tags and attribute handlers that are known (in *tal-attribute-handlers* or *tal-tag-handlers*)
handlers.lisp (file)
dom.lisp (file)
readline that can read unix or dos lines
tal-environment.lisp (file)
tal-environment.lisp (file)
compile.lisp (file)
compile.lisp (file)
compile.lisp (file)
If you set rely-on-warnings, MAKE sure your warnings are correctly listed below
compile.lisp (file)
Find all the missing variables from their unbound-variable errors
loop compiling each time till we get no more of these errors each time we add a new key arg
defaulting to a value from the base environment
compile.lisp (file)
compile.lisp (file)
compile.lisp (file)
handlers.lisp (file)
ATTRUBTE-HANDLER: Extend environment with a given list of bindings,
as for LET* form.
Example:
<div tal:let=’foo 3’><div tal:content=’$foo’/></div>
Goes to: <div><div>3</div></div>
handlers.lisp (file)
TAG-HANDLER: evaluate the body of the tag as lisp code.
handlers.lisp (file)
Make a XMLS style builder. When ’include-namespace-uri is true a modified XMLS tree is generated that includes the element namespace URI rather than the qualified name prefix and also includes the namespace URI for attributes.
sax-buffer.lisp (file)
dom.lisp (file)
generator.lisp (file)
compile.lisp (file)
compile.lisp (file)
Parser a TAL attribute expression, returns a form for building the expression at run time.
compile.lisp (file)
Convert a plist returned from the value of this attribute into attributes on this tag.
handlers.lisp (file)
TAG-HANDLER: prints as a comment information about the tal-environment where this tag was encountered
handlers.lisp (file)
TAG-HANDLER: Lists (in a comment) the tag and attribute handlers that are currently registered.
handlers.lisp (file)
Return the contents of PATHNAME as a fresh string.
The file specified by PATHNAME will be read one ELEMENT-TYPE
element at a time, the EXTERNAL-FORMAT and ELEMENT-TYPEs must be
compatible.
The EXTERNAL-FORMAT parameter will be passed to ENCODING-KEYWORD-TO-NATIVE, see ENCODING-KEYWORD-TO-NATIVE to possible values.
tal-environment.lisp (file)
tal-environment.lisp (file)
A copy of cxml:attribute* that sets specified-p correctly
TODO: cxml:attribute* should probably set this by default or
accept it as an optional arg. Push this upstream
@arg[prefix]{Namespace prefix, a string.}
@arg[lname]{Local name, a string.}
@arg[value]{Any value understood by @fun{unparse-attribute}, in particular
strings.}
@return{undocumented}
Collects an attribute for the start tag that is currently being written.
This function may only be called during the extent of a use of
@fun{with-element} or @fun{with-element*}, and only before the first
child node has been written.
An attribute for the current element is recorded using the namespace prefix
and local name specified by arguments. @var{prefix} is resolved to a
namespace URI using the bindings established by @fun{with-namespace},
and that namespace URI is used for the attribute.
compile.lisp (file)
Test whether the first elements of SEQUENCE are the same (as
per TEST) as the elements of PREFIX.
If RETURN-SUFFIX is T the functions returns, as a second value, a displaced array pointing to the sequence after PREFIX.
tal-environment.lisp (file)
compile.lisp (file)
generator.lisp (file)
compile.lisp (file)
compile.lisp (file)
compile.lisp (file)
generator.lisp (file)
generator.lisp (file)
generator.lisp (file)
generator.lisp (file)
compile.lisp (file)
handlers.lisp (file)
Creates a new scope (ie: for def) and processes a form inside it
compile.lisp (file)
compile.lisp (file)
Creates a new scope (ie: for def) and processes a tree of children inside it
compile.lisp (file)
ATTRIBUTE-HANDLER: Causes this tag to only appear when the evaluated value of the attribute is nil.
handlers.lisp (file)
handlers.lisp (file)
Next: Internal conditions, Previous: Internal functions, Up: Internal definitions [Contents][Index]
handlers.lisp (file)
The events buffered so far
sax-buffer.lisp (file)
Is this currently buffering
sax-buffer.lisp (file)
automatically generated reader method
generator.lisp (file)
automatically generated writer method
generator.lisp (file)
sax-buffer.lisp (file)
Is this currently flushing
sax-buffer.lisp (file)
compile.lisp (file)
compile.lisp (file)
compile.lisp (file)
compile.lisp (file)
A log-fn that accepts a string and writes it to the log
generator.lisp (file)
automatically generated reader method
compile.lisp (file)
automatically generated writer method
compile.lisp (file)
compile.lisp (file)
compile.lisp (file)
sax-buffer.lisp (file)
sax-buffer.lisp (file)
compile.lisp (file)
compile.lisp (file)
automatically generated reader method
compile.lisp (file)
automatically generated writer method
compile.lisp (file)
Next: Internal structures, Previous: Internal generic functions, Up: Internal definitions [Contents][Index]
compile.lisp (file)
simple-condition (condition)
:format-control
(quote nil)
format-control (generic function)
(setf format-control) (generic function)
:format-args
(quote nil)
format-args (generic function)
(setf format-args) (generic function)
:original-condition
(quote nil)
original-condition (generic function)
(setf original-condition) (generic function)
:template
(quote net.acceleration.talcl::*name-being-compiled*)
template (generic function)
(setf template) (generic function)
compile.lisp (file)
tal-unexpected-eof-compilation-error (condition)
compile.lisp (file)
compile.lisp (file)
compile.lisp (file)
Next: Internal classes, Previous: Internal conditions, Up: Internal definitions [Contents][Index]
generator.lisp (file)
structure-object (structure)
tal-template.last-load-time (function)
(setf tal-template.last-load-time) (function)
tal-template.file-name (function)
(setf tal-template.file-name) (function)
tal-template.function (function)
(setf tal-template.function) (function)
Previous: Internal structures, Up: Internal definitions [Contents][Index]
sax-buffer.lisp (file)
broadcast-handler (class)
Is this currently buffering
:buffering
buffering (generic function)
(setf buffering) (generic function)
Is this currently flushing
:flushing
flushing (generic function)
(setf flushing) (generic function)
The events buffered so far
:buffer
buffer (generic function)
(setf buffer) (generic function)
an xmls builder that includes comments as (:comment () comment-text) nodes
sax-buffer.lisp (file)
xmls-builder (class)
comment (method)
compile.lisp (file)
broadcast-handler (class)
:uri-to-package
uri-to-package (generic function)
(setf uri-to-package) (generic function)
:ns-test
(function string=)
ns-test (generic function)
(setf ns-test) (generic function)
dom.lisp (file)
processing-instruction (class)
:node-name
"template-node"
node-name (generic function)
(setf node-name) (generic function)
Previous: Definitions, Up: Top [Contents][Index]
• Concept index | ||
• Function index | ||
• Variable index | ||
• Data type index |
Next: Function index, Previous: Indexes, Up: Indexes [Contents][Index]
Jump to: | F L M T |
---|
Jump to: | F L M T |
---|
Next: Variable index, Previous: Concept index, Up: Indexes [Contents][Index]
Jump to: | $
%
(
A B C D E F G I L M N O P R S T U W |
---|
Jump to: | $
%
(
A B C D E F G I L M N O P R S T U W |
---|
Next: Data type index, Previous: Function index, Up: Indexes [Contents][Index]
Jump to: | *
B C F L N O R S T U |
---|
Jump to: | *
B C F L N O R S T U |
---|
Previous: Variable index, Up: Indexes [Contents][Index]
Jump to: | B C E F I N P S T |
---|
Jump to: | B C E F I N P S T |
---|