The closure-template Reference Manual

This is the closure-template Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 15:04:34 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 closure-template

Dependencies
  • babel (system).
  • parse-number (system).
  • esrap (system).
  • iterate (system).
  • closer-mop (system).
  • split-sequence (system).
  • alexandria (system).
Source

closure-template.asd.

Child Components

3 Modules

Modules are listed depth-first from the system components tree.


3.1 closure-template/parser

Source

closure-template.asd.

Parent Component

closure-template (system).

Child Components

3.2 closure-template/common-lisp-backend

Dependency

asdf.lisp (file).

Source

closure-template.asd.

Parent Component

closure-template (system).

Child Components

3.3 closure-template/javascript-backend

Dependency

standard-templates.lisp (file).

Source

closure-template.asd.

Parent Component

closure-template (system).

Child Component

javascript-backend.lisp (file).


4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


4.1 Lisp


4.1.1 closure-template/closure-template.asd

Source

closure-template.asd.

Parent Component

closure-template (system).

ASDF Systems

closure-template.


4.1.2 closure-template/parser/defpackage.lisp

Source

closure-template.asd.

Parent Component

parser (module).

Packages

closure-template.parser.

Public Interface
Internals

4.1.3 closure-template/parser/command.lisp

Dependency

defpackage.lisp (file).

Source

closure-template.asd.

Parent Component

parser (module).

Public Interface
Internals

4.1.4 closure-template/parser/expression.lisp

Dependency

command.lisp (file).

Source

closure-template.asd.

Parent Component

parser (module).

Public Interface
Internals

4.1.5 closure-template/defpackage.lisp

Dependency

parser (module).

Source

closure-template.asd.

Parent Component

closure-template (system).

Packages

closure-template.


4.1.6 closure-template/interface.lisp

Dependency

defpackage.lisp (file).

Source

closure-template.asd.

Parent Component

closure-template (system).

Public Interface

4.1.7 closure-template/asdf.lisp

Dependencies
Source

closure-template.asd.

Parent Component

closure-template (system).

Public Interface

4.1.8 closure-template/common-lisp-backend/escape.lisp

Source

closure-template.asd.

Parent Component

common-lisp-backend (module).

Public Interface
Internals

encode-string (function).


4.1.9 closure-template/common-lisp-backend/common-lisp-backend.lisp

Dependency

escape.lisp (file).

Source

closure-template.asd.

Parent Component

common-lisp-backend (module).

Public Interface
Internals

4.1.10 closure-template/standard-templates.lisp

Dependency

common-lisp-backend (module).

Source

closure-template.asd.

Parent Component

closure-template (system).


4.1.11 closure-template/javascript-backend/javascript-backend.lisp

Source

closure-template.asd.

Parent Component

javascript-backend (module).

Public Interface
Internals

5 Packages

Packages are listed by definition order.


5.1 closure-template

Source

defpackage.lisp.

Use List
Public Interface
Internals

5.2 closure-template.parser

Source

defpackage.lisp.

Use List
  • common-lisp.
  • esrap.
  • iterate.
Used By List

closure-template.

Public Interface
Internals

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


6.1 Public Interface


6.1.1 Special variables

Special Variable: *default-closure-template-package*
Package

closure-template.

Source

common-lisp-backend.lisp.

Special Variable: *injected-data*
Package

closure-template.

Source

common-lisp-backend.lisp.

Special Variable: *ttable*
Package

closure-template.

Source

common-lisp-backend.lisp.

Special Variable: *uglify*
Package

closure-template.parser.

Source

defpackage.lisp.


6.1.2 Macros

Macro: define-print-syntax (symbol expr &body rule)

Define a syntax rule for a new user print directive which is identified by SYMBOL. EXPR defines a grammar of the new directive without whitespace and the "|" delimiter. The body of definition should contain semantic rules used to convert possible parameters of the directive

Package

closure-template.parser.

Source

command.lisp.

Macro: with-user-functions ((&rest functions) &body body)

Executes body with possibility to call specified functions from templates.
Usage: (with-user-functions (("incr" #’1+))
(closure-template:compile-template :common-lisp-backend "{template test} x + 1 = {incr($x)}{/template}"))

Package

closure-template.

Source

common-lisp-backend.lisp.


6.1.3 Ordinary functions

Function: add-possible-function (name)
Package

closure-template.parser.

Source

expression.lisp.

Function: closure-template-parse (symbol text)
Package

closure-template.parser.

Source

defpackage.lisp.

Function: compile-cl-templates (templates)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: decode-uri (string)

Replaces each escape sequence in the encoded URI with the character that it represents.

Package

closure-template.

Source

escape.lisp.

Function: encode-uri (str)
Package

closure-template.

Source

escape.lisp.

Function: encode-uri-component (str)
Package

closure-template.

Source

escape.lisp.

Function: ensure-ttable-package (name &key prototype)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: escape-html (str)
Package

closure-template.

Source

escape.lisp.

Function: lispify-name (str)
Package

closure-template.parser.

Source

defpackage.lisp.

Function: lispify-string (str)
Package

closure-template.parser.

Source

defpackage.lisp.

Function: not-equal (obj1 obj2)
Package

closure-template.parser.

Source

defpackage.lisp.

Function: package-ttable (package)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: parse-expression (text)
Package

closure-template.parser.

Source

expression.lisp.

Function: parse-template (obj)
Package

closure-template.parser.

Source

command.lisp.

Function: ttable-call-template (ttable name env &optional out)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: ttable-extend-package (ttable package)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: ttable-find-template (ttable lname)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: ttable-register-template (ttable lname template &key supersede)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: user-print-directive-p (symbol)
Package

closure-template.parser.

Source

command.lisp.


6.1.4 Generic functions

Generic Reader: arref-position (object)
Package

closure-template.parser.

Methods
Reader Method: arref-position ((arref arref))

automatically generated reader method

Source

expression.lisp.

Target Slot

position.

Generic Reader: call-data (object)
Package

closure-template.parser.

Methods
Reader Method: call-data ((call call))

automatically generated reader method

Source

command.lisp.

Target Slot

data.

Generic Reader: call-name (object)
Package

closure-template.parser.

Methods
Reader Method: call-name ((call call))

automatically generated reader method

Source

command.lisp.

Target Slot

name.

Generic Reader: call-namespace (object)
Package

closure-template.parser.

Methods
Reader Method: call-namespace ((call call))

automatically generated reader method

Source

command.lisp.

Target Slot

namespace.

Generic Reader: call-params (object)
Package

closure-template.parser.

Methods
Reader Method: call-params ((call call))

automatically generated reader method

Source

command.lisp.

Target Slot

params.

Generic Reader: comment-multiline-p (object)
Package

closure-template.parser.

Methods
Reader Method: comment-multiline-p ((comment comment))

automatically generated reader method

Source

command.lisp.

Target Slot

multiline.

Generic Reader: comment-text (object)
Package

closure-template.parser.

Methods
Reader Method: comment-text ((comment comment))

automatically generated reader method

Source

command.lisp.

Target Slot

text.

Generic Function: compile-js-templates (templates)
Package

closure-template.

Methods
Method: compile-js-templates (templates)
Source

javascript-backend.lisp.

Generic Function: compile-template (backend template)

Compile templates from TEMPLATE using BACKEND as target language

Package

closure-template.

Source

interface.lisp.

Methods
Method: compile-template ((backend javascript-backend) (templates list))
Source

javascript-backend.lisp.

Method: compile-template ((backend requirejs-backend) template)
Source

javascript-backend.lisp.

Method: compile-template ((backend javascript-backend) template)
Source

javascript-backend.lisp.

Method: compile-template ((backend (eql :requirejs-backend)) template)
Source

javascript-backend.lisp.

Method: compile-template ((backend (eql :javascript-backend)) template)
Source

javascript-backend.lisp.

Method: compile-template ((backend common-lisp-backend) (templates list))
Source

common-lisp-backend.lisp.

Method: compile-template ((backend common-lisp-backend) template)
Source

common-lisp-backend.lisp.

Method: compile-template ((backend (eql :common-lisp-backend)) template)
Source

common-lisp-backend.lisp.

Generic Reader: dotref-jsname (object)
Package

closure-template.parser.

Methods
Reader Method: dotref-jsname ((dotref dotref))

automatically generated reader method

Source

expression.lisp.

Target Slot

jsname.

Generic Reader: dotref-name (object)
Package

closure-template.parser.

Methods
Reader Method: dotref-name ((dotref dotref))

automatically generated reader method

Source

expression.lisp.

Target Slot

name.

Generic Reader: fcall-args (object)
Package

closure-template.parser.

Methods
Reader Method: fcall-args ((fcall fcall))

automatically generated reader method

Source

expression.lisp.

Target Slot

args.

Generic Reader: fcall-jsname (object)
Package

closure-template.parser.

Methods
Reader Method: fcall-jsname ((fcall fcall))

automatically generated reader method

Source

expression.lisp.

Target Slot

jsname.

Generic Reader: fcall-name (object)
Package

closure-template.parser.

Methods
Reader Method: fcall-name ((fcall fcall))

automatically generated reader method

Source

expression.lisp.

Target Slot

name.

Generic Function: fetch-keys (map)
Package

closure-template.

Source

common-lisp-backend.lisp.

Methods
Method: fetch-keys ((map dict))
Method: fetch-keys ((map hash-table))
Method: fetch-keys ((map list))
Method: fetch-keys ((obj standard-object))
Generic Function: fetch-property (map key)
Package

closure-template.

Source

common-lisp-backend.lisp.

Methods
Method: fetch-property ((map dict) key)
Method: fetch-property (map (key integer))
Method: fetch-property ((map list) (key integer))
Method: fetch-property ((map hash-table) key)
Method: fetch-property ((map list) key)
Method: fetch-property ((obj standard-object) key)
Generic Reader: for-code-block (object)
Package

closure-template.parser.

Methods
Reader Method: for-code-block ((for-command for-command))

automatically generated reader method

Source

command.lisp.

Target Slot

code-block.

Generic Reader: for-range (object)
Package

closure-template.parser.

Methods
Reader Method: for-range ((for-command for-command))

automatically generated reader method

Source

command.lisp.

Target Slot

range.

Generic Reader: for-varname (object)
Package

closure-template.parser.

Methods
Reader Method: for-varname ((for-command for-command))

automatically generated reader method

Source

command.lisp.

Target Slot

varname.

Generic Reader: foreach-code-block (object)
Package

closure-template.parser.

Methods
Reader Method: foreach-code-block ((foreach foreach))

automatically generated reader method

Source

command.lisp.

Target Slot

codeblock.

Generic Reader: foreach-expression (object)
Package

closure-template.parser.

Methods
Reader Method: foreach-expression ((foreach foreach))

automatically generated reader method

Source

command.lisp.

Target Slot

expression.

Generic Reader: foreach-if-empty-code (object)
Package

closure-template.parser.

Methods
Reader Method: foreach-if-empty-code ((foreach foreach))

automatically generated reader method

Source

command.lisp.

Target Slot

if-empty-code.

Generic Reader: foreach-varname (object)
Package

closure-template.parser.

Methods
Reader Method: foreach-varname ((foreach foreach))

automatically generated reader method

Source

command.lisp.

Target Slot

varname.

Generic Reader: if-command-options (object)
Package

closure-template.parser.

Methods
Reader Method: if-command-options ((if-command if-command))

automatically generated reader method

Source

command.lisp.

Target Slot

options.

Generic Reader: list-expr-values (object)
Package

closure-template.parser.

Methods
Reader Method: list-expr-values ((list-expr list-expr))

automatically generated reader method

Source

expression.lisp.

Target Slot

values.

Generic Reader: literal-content (object)
Package

closure-template.parser.

Methods
Reader Method: literal-content ((literal literal))

automatically generated reader method

Source

command.lisp.

Target Slot

content.

Generic Reader: map-expr-items (object)
Package

closure-template.parser.

Methods
Reader Method: map-expr-items ((map-expr map-expr))

automatically generated reader method

Source

expression.lisp.

Target Slot

pairs.

Generic Reader: namespace-name (object)
Package

closure-template.parser.

Methods
Reader Method: namespace-name ((namespace namespace))

automatically generated reader method

Source

command.lisp.

Target Slot

name.

Generic Reader: namespace-templates (object)
Package

closure-template.parser.

Methods
Reader Method: namespace-templates ((namespace namespace))

automatically generated reader method

Source

command.lisp.

Target Slot

templates.

Generic Reader: op-args (object)
Package

closure-template.parser.

Methods
Reader Method: op-args ((operator operator))

automatically generated reader method

Source

expression.lisp.

Target Slot

args.

Generic Reader: op-name (object)
Package

closure-template.parser.

Methods
Reader Method: op-name ((operator operator))

automatically generated reader method

Source

expression.lisp.

Target Slot

name.

Generic Reader: print-directives (object)
Package

closure-template.parser.

Methods
Reader Method: print-directives ((print-command print-command))

automatically generated reader method

Source

command.lisp.

Target Slot

directives.

Generic Reader: print-expression (object)
Package

closure-template.parser.

Methods
Reader Method: print-expression ((print-command print-command))

automatically generated reader method

Source

command.lisp.

Target Slot

expr.

Generic Reader: ref-expr (object)
Package

closure-template.parser.

Methods
Reader Method: ref-expr ((ref ref))

automatically generated reader method

Source

expression.lisp.

Target Slot

expression.

Generic Function: register-print-handler (backend directive &rest options)

Register handler for custom print directive in BACKEND.
Directive syntax is defined by DIRECTIVE. Actual handler parameters are depend on backend type.

Package

closure-template.

Source

interface.lisp.

Methods
Method: register-print-handler ((backend (eql :requirejs-backend)) directive &rest params)

Register DIRECTIVE handler for Javascript backend.
The following parameters are accepted:
:HANDLER - string which defines actual Javascript handler like "function (params, value) { }";
:FUNCTION - string with name of handler function (it should be defined elsewhere with
prototype similar to above);
:MODULE - RequireJS module which implements :FUNCTION.
:PARAMETER-CONVERTER - lambda which accepts data from parser and returns string parameters for handler.

:HANDLER or :FUNCTION are required, :PARAMETER-CONVERTER and :MODULE are optional. If :PARAMETER-CONVERTER is NIL or it returns NIL or empty string then "params" argument will be omitted in call to handler. if :MODULE not is missing it should contain URI of the RequireJS module which implements function :FUNCTION. :MODULE it not used when :HANDLER is specified

Source

javascript-backend.lisp.

Method: register-print-handler ((backend (eql :javascript-backend)) directive &rest params)

Register DIRECTIVE handler for Javascript backend.
The following parameters are accepted:
:HANDLER - string which defines actual Javascript handler like "function (params, value) { }"; :FUNCTION - string with name of handler function (it should be defined elsewhere with
prototype similar to above);
:PARAMETER-CONVERTER - lambda which accepts data from parser and returns string parameters for handler.

:HANDLER or :FUNCTION are required, :PARAMETER-CONVERTER is optional. If :PARAMETER-CONVERTER is NIL or it returns NIL or empty string then "params" argument will be omitted in call to handler.

Source

javascript-backend.lisp.

Method: register-print-handler ((backend-type (eql :common-lisp-backend)) directive &rest args)

Register handler for print DIRECTIVE in the BACKEND. ARGS must contain symbol :FUNCTION and lambda function with prototype (lambda (parameters environment value))

Source

common-lisp-backend.lisp.

Generic Reader: switch-cases (object)
Package

closure-template.parser.

Methods
Reader Method: switch-cases ((switch-command switch-command))

automatically generated reader method

Source

command.lisp.

Target Slot

cases.

Generic Reader: switch-default (object)
Package

closure-template.parser.

Methods
Reader Method: switch-default ((switch-command switch-command))

automatically generated reader method

Source

command.lisp.

Target Slot

default.

Generic Reader: switch-expression (object)
Package

closure-template.parser.

Methods
Reader Method: switch-expression ((switch-command switch-command))

automatically generated reader method

Source

command.lisp.

Target Slot

expr.

Generic Reader: template-code-block (object)
Package

closure-template.parser.

Methods
Reader Method: template-code-block ((template template))

automatically generated reader method

Source

command.lisp.

Target Slot

code-block.

Generic Reader: template-name (object)
Package

closure-template.parser.

Methods
Reader Method: template-name ((template template))

automatically generated reader method

Source

command.lisp.

Target Slot

name.

Generic Reader: template-properties (object)
Package

closure-template.parser.

Methods
Reader Method: template-properties ((template template))

automatically generated reader method

Source

command.lisp.

Target Slot

properties.

Generic Reader: var-jsname (object)
Package

closure-template.parser.

Methods
Reader Method: var-jsname ((var var))

automatically generated reader method

Source

expression.lisp.

Target Slot

jsname.

Generic Reader: var-name (object)
Package

closure-template.parser.

Methods
Reader Method: var-name ((var var))

automatically generated reader method

Source

expression.lisp.

Target Slot

name.

Generic Reader: with-body (object)
Package

closure-template.parser.

Methods
Reader Method: with-body ((with with))

automatically generated reader method

Source

command.lisp.

Target Slot

body.

Generic Reader: with-vars (object)
Package

closure-template.parser.

Methods
Reader Method: with-vars ((with with))

automatically generated reader method

Source

command.lisp.

Target Slot

vars.


6.1.5 Standalone methods

Method: output-files (operation (c closure-template))
Package

asdf/action.

Source

asdf.lisp.

Method: perform ((operation load-op) (c closure-template))
Package

asdf/action.

Source

asdf.lisp.

Method: perform ((operation compile-op) (c closure-template))
Package

asdf/action.

Source

asdf.lisp.


6.1.6 Classes

Class: arref
Package

closure-template.parser.

Source

expression.lisp.

Direct superclasses

ref.

Direct methods
Direct slots
Slot: position
Package

common-lisp.

Initargs

:position

Readers

arref-position.

Writers

This slot is read-only.

Class: call
Package

closure-template.parser.

Source

command.lisp.

Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

call-name.

Writers

This slot is read-only.

Slot: namespace
Initargs

nil, :namespace

Readers

call-namespace.

Writers

This slot is read-only.

Slot: data
Initargs

:data

Readers

call-data.

Writers

This slot is read-only.

Slot: params
Initargs

:params

Readers

call-params.

Writers

This slot is read-only.

Class: closure-template
Package

closure-template.

Source

asdf.lisp.

Direct superclasses

source-file.

Direct methods
Direct slots
Slot: type
Package

common-lisp.

Initform

"tmpl"

Class: comment
Package

closure-template.parser.

Source

command.lisp.

Direct methods
Direct slots
Slot: text
Package

esrap.

Initargs

:text

Readers

comment-text.

Writers

This slot is read-only.

Slot: multiline
Initargs

:multiline

Readers

comment-multiline-p.

Writers

This slot is read-only.

Class: dotref
Package

closure-template.parser.

Source

expression.lisp.

Direct superclasses

ref.

Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

dotref-name.

Writers

This slot is read-only.

Slot: jsname
Initargs

:jsname

Readers

dotref-jsname.

Writers

This slot is read-only.

Class: fcall
Package

closure-template.parser.

Source

expression.lisp.

Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

fcall-name.

Writers

This slot is read-only.

Slot: jsname
Initargs

:jsname

Readers

fcall-jsname.

Writers

This slot is read-only.

Slot: args
Initargs

:args

Readers

fcall-args.

Writers

This slot is read-only.

Class: for-command
Package

closure-template.parser.

Source

command.lisp.

Direct methods
Direct slots
Slot: varname
Initargs

:varname

Readers

for-varname.

Writers

This slot is read-only.

Slot: range
Initargs

:range

Readers

for-range.

Writers

This slot is read-only.

Slot: code-block
Initargs

:code-block

Readers

for-code-block.

Writers

This slot is read-only.

Class: foreach
Package

closure-template.parser.

Source

command.lisp.

Direct methods
Direct slots
Slot: varname
Initargs

:varname

Readers

foreach-varname.

Writers

This slot is read-only.

Slot: expression
Initargs

:expr

Readers

foreach-expression.

Writers

This slot is read-only.

Slot: codeblock
Initargs

:code-block

Readers

foreach-code-block.

Writers

This slot is read-only.

Slot: if-empty-code
Initargs

:if-empty-code

Readers

foreach-if-empty-code.

Writers

This slot is read-only.

Class: if-command
Package

closure-template.parser.

Source

command.lisp.

Direct methods
Direct slots
Slot: options
Initargs

:options

Readers

if-command-options.

Writers

This slot is read-only.

Class: injected-data
Package

closure-template.parser.

Source

expression.lisp.

Direct methods
Class: list-expr
Package

closure-template.parser.

Source

expression.lisp.

Direct methods
Direct slots
Slot: values
Package

common-lisp.

Initargs

:values

Readers

list-expr-values.

Writers

This slot is read-only.

Class: literal
Package

closure-template.parser.

Source

command.lisp.

Direct methods
Direct slots
Slot: content
Initargs

:content

Readers

literal-content.

Writers

This slot is read-only.

Class: map-expr
Package

closure-template.parser.

Source

expression.lisp.

Direct methods
Direct slots
Slot: pairs
Initargs

:pairs

Readers

map-expr-items.

Writers

This slot is read-only.

Class: namespace
Package

closure-template.parser.

Source

command.lisp.

Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

namespace-name.

Writers

This slot is read-only.

Slot: templates
Initargs

:templates

Readers

namespace-templates.

Writers

This slot is read-only.

Class: operator
Package

closure-template.parser.

Source

expression.lisp.

Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

op-name.

Writers

This slot is read-only.

Slot: args
Initargs

:args

Readers

op-args.

Writers

This slot is read-only.

Class: print-command
Package

closure-template.parser.

Source

command.lisp.

Direct methods
Direct slots
Slot: expr
Initargs

:expr

Readers

print-expression.

Writers

This slot is read-only.

Slot: directives
Initargs

:directives

Readers

print-directives.

Writers

This slot is read-only.

Class: switch-command
Package

closure-template.parser.

Source

command.lisp.

Direct methods
Direct slots
Slot: expr
Initargs

:expr

Readers

switch-expression.

Writers

This slot is read-only.

Slot: cases
Initargs

:cases

Readers

switch-cases.

Writers

This slot is read-only.

Slot: default
Initargs

:default

Readers

switch-default.

Writers

This slot is read-only.

Class: template
Package

closure-template.parser.

Source

command.lisp.

Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

template-name.

Writers

This slot is read-only.

Slot: properties
Initargs

:properties

Readers

template-properties.

Writers

This slot is read-only.

Slot: code-block
Initargs

:code-block

Readers

template-code-block.

Writers

This slot is read-only.

Class: ttable
Package

closure-template.

Source

common-lisp-backend.lisp.

Direct methods
Direct slots
Slot: hash
Initform

(make-hash-table :test (quote equal))

Readers

ttable-hash.

Writers

This slot is read-only.

Slot: prototype
Initargs

:prototype

Readers

ttable-prototype.

Writers

This slot is read-only.

Class: var
Package

closure-template.parser.

Source

expression.lisp.

Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

var-name.

Writers

This slot is read-only.

Slot: jsname
Initargs

:jsname

Readers

var-jsname.

Writers

This slot is read-only.

Class: with
Package

iterate.

Source

command.lisp.

Direct methods
Direct slots
Slot: vars
Package

closure-template.parser.

Initargs

:vars

Readers

with-vars.

Writers

This slot is read-only.

Slot: body
Package

closure-template.parser.

Initargs

:body

Readers

with-body.

Writers

This slot is read-only.


6.2 Internals


6.2.1 Special variables

Special Variable: *autoescape*
Package

closure-template.

Source

common-lisp-backend.lisp.

Special Variable: *closure-template-rules*
Package

closure-template.parser.

Source

defpackage.lisp.

Special Variable: *indent-level*
Package

closure-template.

Source

javascript-backend.lisp.

Special Variable: *infix-ops-priority*
Package

closure-template.parser.

Source

expression.lisp.

Special Variable: *js-custom-print-handlers*
Package

closure-template.

Source

javascript-backend.lisp.

Special Variable: *js-namespace*

Current JavaScript namespace

Package

closure-template.

Source

javascript-backend.lisp.

Special Variable: *local-variables*
Package

closure-template.

Source

javascript-backend.lisp.

Special Variable: *loops-vars*
Package

closure-template.

Source

common-lisp-backend.lisp.

Special Variable: *possible-functions*
Package

closure-template.parser.

Source

expression.lisp.

Special Variable: *requirejs-custom-print-handlers*
Package

closure-template.

Source

javascript-backend.lisp.

Special Variable: *requirejs-deps*
Package

closure-template.

Source

javascript-backend.lisp.

Special Variable: *substitiotn-map*
Package

closure-template.parser.

Source

command.lisp.

Special Variable: *symbol-counter*
Package

closure-template.

Source

javascript-backend.lisp.

Special Variable: *template-data*
Package

closure-template.

Source

common-lisp-backend.lisp.

Special Variable: *user-functions*
Package

closure-template.

Source

common-lisp-backend.lisp.

Special Variable: *user-print-directive-handlers*
Package

closure-template.

Source

common-lisp-backend.lisp.

Special Variable: +json-lisp-escaped-chars+
Package

closure-template.

Source

javascript-backend.lisp.

Special Variable: +reserved-js-words+
Package

closure-template.

Source

javascript-backend.lisp.

Special Variable: +standard-print-directives+
Package

closure-template.parser.

Source

command.lisp.


6.2.2 Macros

Macro: define-escape-sequence (name char &optional result)
Package

closure-template.parser.

Source

expression.lisp.

Macro: define-operator (name &optional val)
Package

closure-template.parser.

Source

expression.lisp.

Macro: define-print-directive (name value)
Package

closure-template.parser.

Source

command.lisp.

Macro: define-rule (symbol expression &body options)
Package

closure-template.parser.

Source

defpackage.lisp.

Macro: define-substitions (name str value)
Package

closure-template.parser.

Source

command.lisp.

Macro: with-closure-template-rules (&body body)
Package

closure-template.parser.

Source

defpackage.lisp.

Macro: with-increase-indent (&body body)
Package

closure-template.

Source

javascript-backend.lisp.

Macro: with-local-var ((name) &body body)
Package

closure-template.

Source

javascript-backend.lisp.

Macro: with-write-parenthesis ((out &optional parenthesis) &body body)
Package

closure-template.

Source

javascript-backend.lisp.


6.2.3 Ordinary functions

Function: %!= (arg1 arg2)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: %+ (arg1 arg2)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: %is-nonnull (value)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: %js (text)
Package

closure-template.

Source

javascript-backend.lisp.

Function: %round (number &optional digits-after-point)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: %str-contains (str substr)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: ->prefix (infix)

Convert an infix expression to prefix.

Package

closure-template.parser.

Source

expression.lisp.

Function: add-user-function (name function)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: check-expression-p (obj)
Package

closure-template.parser.

Source

command.lisp.

Function: compile-namespace (obj)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: compile-to-requirejs (obj)
Package

closure-template.

Source

javascript-backend.lisp.

Function: copy-print-handler (instance)
Package

closure-template.

Source

javascript-backend.lisp.

Function: encode-string (str not-encode)
Package

closure-template.

Source

escape.lisp.

Function: find-user-function (name)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: has-data ()
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: index (symbol)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: is-first (symbol)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: is-last (symbol)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: make-all-user-print-directives-handler (cmd expr)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: make-and-handler (args)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: make-boolean-expression-handler (expr)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: make-call-data-handler (data)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: make-code-block-handler (expr)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: make-dict (base additional)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: make-foreach-function-handler (symbol varname)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: make-function-handler (function args)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: make-if-operator-handler (condition success fail)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: make-not-handler (expr)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: make-or-handler (args)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: make-param-handler (param)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: make-print-handler (&key impl name module param-converter)
Package

closure-template.

Source

javascript-backend.lisp.

Function: make-switch-command-handler (cmd)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: make-user-print-directive-handler (d d-args expr)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: not-quote-p (char)
Package

closure-template.parser.

Source

expression.lisp.

Function: parse-template-name (name)
Package

closure-template.parser.

Source

command.lisp.

Reader: print-handler-impl (instance)
Writer: (setf print-handler-impl) (instance)
Package

closure-template.

Source

javascript-backend.lisp.

Target Slot

impl.

Reader: print-handler-module (instance)
Writer: (setf print-handler-module) (instance)
Package

closure-template.

Source

javascript-backend.lisp.

Target Slot

module.

Reader: print-handler-name (instance)
Writer: (setf print-handler-name) (instance)
Package

closure-template.

Source

javascript-backend.lisp.

Target Slot

name.

Function: print-handler-p (object)
Package

closure-template.

Source

javascript-backend.lisp.

Reader: print-handler-param-converter (instance)
Writer: (setf print-handler-param-converter) (instance)
Package

closure-template.

Source

javascript-backend.lisp.

Target Slot

param-converter.

Function: reduce-infix (infix)

Find the highest-precedence operator in INFIX and reduce accordingly.

Package

closure-template.parser.

Source

expression.lisp.

Function: reduce-ref (expr)
Package

closure-template.parser.

Source

expression.lisp.

Function: replace-subseq (sequence start length new)
Package

closure-template.parser.

Source

expression.lisp.

Function: replace-substition (code)
Package

closure-template.parser.

Source

command.lisp.

Function: simple-text-char-p (character)
Package

closure-template.parser.

Source

command.lisp.

Function: simplify-code (code)
Package

closure-template.parser.

Source

command.lisp.

Function: text-neighboring-strings (obj)
Package

closure-template.parser.

Source

command.lisp.

Function: trim-whitespace (code)
Package

closure-template.parser.

Source

command.lisp.

Function: ttable-template-name-list (ttable)
Package

closure-template.

Source

common-lisp-backend.lisp.

Function: write-call-name (cmd out)
Package

closure-template.

Source

javascript-backend.lisp.

Function: write-call-with-params (cmd out)
Package

closure-template.

Source

javascript-backend.lisp.

Function: write-call-without-params (cmd out)
Package

closure-template.

Source

javascript-backend.lisp.

Function: write-custom-print-directives (directives expr out)
Package

closure-template.

Source

javascript-backend.lisp.

Function: write-indent (out)
Package

closure-template.

Source

javascript-backend.lisp.

Function: write-namespace (namespace out)
Package

closure-template.

Source

javascript-backend.lisp.

Function: write-namespace-body (name templates out)
Package

closure-template.

Source

javascript-backend.lisp.

Function: write-namespace-declaration (name out)
Package

closure-template.

Source

javascript-backend.lisp.

Function: write-namespace-helpers (name out)
Package

closure-template.

Source

javascript-backend.lisp.

Function: write-template (tmpl out)
Package

closure-template.

Source

javascript-backend.lisp.

Function: write-template-atom (obj out)
Package

closure-template.

Source

common-lisp-backend.lisp.


6.2.4 Generic functions

Generic Function: %nonblank (el)
Package

closure-template.

Source

common-lisp-backend.lisp.

Methods
Method: %nonblank ((el string))
Method: %nonblank ((el (eql :null)))
Method: %nonblank ((el (eql 0)))
Method: %nonblank ((el (eql 0.0)))
Method: %nonblank ((el (eql nil)))
Method: %nonblank ((el array))
Method: %nonblank (el)
Generic Function: %same-name (s1 s2)
Package

closure-template.

Source

common-lisp-backend.lisp.

Methods
Method: %same-name ((s1 symbol) (s2 symbol))
Method: %same-name ((s1 string) (s2 symbol))
Method: %same-name ((s1 symbol) (s2 string))
Method: %same-name ((s1 string) (s2 string))
Method: %same-name (s1 (s2 number))
Method: %same-name ((s1 number) s2)
Method: %same-name (s1 s2)
Generic Function: compile-to-js (obj)
Package

closure-template.

Source

javascript-backend.lisp.

Methods
Method: compile-to-js ((obj namespace))
Method: compile-to-js (obj)
Generic Function: make-command-handler (cmd)
Package

closure-template.

Source

common-lisp-backend.lisp.

Methods
Method: make-command-handler ((cmd call))
Method: make-command-handler ((cmd with))
Method: make-command-handler ((cmd for-command))
Method: make-command-handler ((cmd foreach))
Method: make-command-handler ((cmd switch-command))
Method: make-command-handler ((cmd if-command))
Method: make-command-handler ((cmd print-command))
Method: make-command-handler ((cmd literal))
Method: make-command-handler ((cmd string))
Method: make-command-handler (cmd)
Generic Function: make-expression-handler (expr)

Make expression handler

Package

closure-template.

Source

common-lisp-backend.lisp.

Methods
Method: make-expression-handler ((obj operator))
Method: make-expression-handler ((fcall fcall))
Method: make-expression-handler ((map-expr map-expr))
Method: make-expression-handler ((list-expr list-expr))
Method: make-expression-handler ((arref arref))
Method: make-expression-handler ((dotref dotref))
Method: make-expression-handler ((var var))
Method: make-expression-handler ((ij injected-data))
Method: make-expression-handler (expr)
Generic Reader: ttable-hash (object)
Package

closure-template.

Methods
Reader Method: ttable-hash ((ttable ttable))

automatically generated reader method

Source

common-lisp-backend.lisp.

Target Slot

hash.

Generic Reader: ttable-prototype (object)
Package

closure-template.

Methods
Reader Method: ttable-prototype ((ttable ttable))

automatically generated reader method

Source

common-lisp-backend.lisp.

Target Slot

prototype.

Generic Function: write-command (cmd out)
Package

closure-template.

Source

javascript-backend.lisp.

Methods
Method: write-command ((cmd call) out)
Method: write-command ((cmd with) out)
Method: write-command ((cmd for-command) out)
Method: write-command ((cmd foreach) out)
Method: write-command ((cmd switch-command) out)
Method: write-command ((cmd if-command) out)
Method: write-command ((cmd print-command) out)
Method: write-command ((cmd literal) out)
Method: write-command ((cmd comment) out)
Method: write-command ((cmd string) out)
Method: write-command ((cmd list) out)
Generic Function: write-expression (expr out)

Write expression as JavaScript

Package

closure-template.

Source

javascript-backend.lisp.

Methods
Method: write-expression ((expr operator) out)
Method: write-expression ((expr fcall) out)
Method: write-expression ((expr map-expr) out)
Method: write-expression ((expr list-expr) out)
Method: write-expression ((expr var) out)
Method: write-expression ((expr injected-data) out)
Method: write-expression ((expr arref) out)
Method: write-expression ((expr dotref) out)
Method: write-expression ((expr string) out)
Method: write-expression ((expr integer) out)
Method: write-expression ((expr real) out)
Method: write-expression ((expr (eql :t)) out)
Method: write-expression (expr (out (eql nil)))

6.2.5 Structures

Structure: print-handler
Package

closure-template.

Source

javascript-backend.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: impl
Readers

print-handler-impl.

Writers

(setf print-handler-impl).

Slot: name
Readers

print-handler-name.

Writers

(setf print-handler-name).

Slot: module
Readers

print-handler-module.

Writers

(setf print-handler-module).

Slot: param-converter
Readers

print-handler-param-converter.

Writers

(setf print-handler-param-converter).


6.2.6 Classes

Class: common-lisp-backend
Package

closure-template.

Source

common-lisp-backend.lisp.

Direct methods
Class: dict
Package

closure-template.

Source

common-lisp-backend.lisp.

Direct methods
Direct slots
Slot: additional
Initargs

:additional

Slot: base
Initargs

:base

Class: javascript-backend
Package

closure-template.

Source

javascript-backend.lisp.

Direct subclasses

requirejs-backend.

Direct methods
Class: ref
Package

closure-template.parser.

Source

expression.lisp.

Direct subclasses
Direct methods

ref-expr.

Direct slots
Slot: expression
Initargs

:expr

Readers

ref-expr.

Writers

This slot is read-only.

Class: requirejs-backend
Package

closure-template.

Source

javascript-backend.lisp.

Direct superclasses

javascript-backend.

Direct methods

compile-template.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   (   -  
A   C   D   E   F   G   H   I   L   M   N   O   P   R   S   T   U   V   W  
Index Entry  Section

%
%!=: Private ordinary functions
%+: Private ordinary functions
%is-nonnull: Private ordinary functions
%js: Private ordinary functions
%nonblank: Private generic functions
%nonblank: Private generic functions
%nonblank: Private generic functions
%nonblank: Private generic functions
%nonblank: Private generic functions
%nonblank: Private generic functions
%nonblank: Private generic functions
%nonblank: Private generic functions
%round: Private ordinary functions
%same-name: Private generic functions
%same-name: Private generic functions
%same-name: Private generic functions
%same-name: Private generic functions
%same-name: Private generic functions
%same-name: Private generic functions
%same-name: Private generic functions
%same-name: Private generic functions
%str-contains: Private ordinary functions

(
(setf print-handler-impl): Private ordinary functions
(setf print-handler-module): Private ordinary functions
(setf print-handler-name): Private ordinary functions
(setf print-handler-param-converter): Private ordinary functions

-
->prefix: Private ordinary functions

A
add-possible-function: Public ordinary functions
add-user-function: Private ordinary functions
arref-position: Public generic functions
arref-position: Public generic functions

C
call-data: Public generic functions
call-data: Public generic functions
call-name: Public generic functions
call-name: Public generic functions
call-namespace: Public generic functions
call-namespace: Public generic functions
call-params: Public generic functions
call-params: Public generic functions
check-expression-p: Private ordinary functions
closure-template-parse: Public ordinary functions
comment-multiline-p: Public generic functions
comment-multiline-p: Public generic functions
comment-text: Public generic functions
comment-text: Public generic functions
compile-cl-templates: Public ordinary functions
compile-js-templates: Public generic functions
compile-js-templates: Public generic functions
compile-namespace: Private ordinary functions
compile-template: Public generic functions
compile-template: Public generic functions
compile-template: Public generic functions
compile-template: Public generic functions
compile-template: Public generic functions
compile-template: Public generic functions
compile-template: Public generic functions
compile-template: Public generic functions
compile-template: Public generic functions
compile-to-js: Private generic functions
compile-to-js: Private generic functions
compile-to-js: Private generic functions
compile-to-requirejs: Private ordinary functions
copy-print-handler: Private ordinary functions

D
decode-uri: Public ordinary functions
define-escape-sequence: Private macros
define-operator: Private macros
define-print-directive: Private macros
define-print-syntax: Public macros
define-rule: Private macros
define-substitions: Private macros
dotref-jsname: Public generic functions
dotref-jsname: Public generic functions
dotref-name: Public generic functions
dotref-name: Public generic functions

E
encode-string: Private ordinary functions
encode-uri: Public ordinary functions
encode-uri-component: Public ordinary functions
ensure-ttable-package: Public ordinary functions
escape-html: Public ordinary functions

F
fcall-args: Public generic functions
fcall-args: Public generic functions
fcall-jsname: Public generic functions
fcall-jsname: Public generic functions
fcall-name: Public generic functions
fcall-name: Public generic functions
fetch-keys: Public generic functions
fetch-keys: Public generic functions
fetch-keys: Public generic functions
fetch-keys: Public generic functions
fetch-keys: Public generic functions
fetch-property: Public generic functions
fetch-property: Public generic functions
fetch-property: Public generic functions
fetch-property: Public generic functions
fetch-property: Public generic functions
fetch-property: Public generic functions
fetch-property: Public generic functions
find-user-function: Private ordinary functions
for-code-block: Public generic functions
for-code-block: Public generic functions
for-range: Public generic functions
for-range: Public generic functions
for-varname: Public generic functions
for-varname: Public generic functions
foreach-code-block: Public generic functions
foreach-code-block: Public generic functions
foreach-expression: Public generic functions
foreach-expression: Public generic functions
foreach-if-empty-code: Public generic functions
foreach-if-empty-code: Public generic functions
foreach-varname: Public generic functions
foreach-varname: Public generic functions
Function, %!=: Private ordinary functions
Function, %+: Private ordinary functions
Function, %is-nonnull: Private ordinary functions
Function, %js: Private ordinary functions
Function, %round: Private ordinary functions
Function, %str-contains: Private ordinary functions
Function, (setf print-handler-impl): Private ordinary functions
Function, (setf print-handler-module): Private ordinary functions
Function, (setf print-handler-name): Private ordinary functions
Function, (setf print-handler-param-converter): Private ordinary functions
Function, ->prefix: Private ordinary functions
Function, add-possible-function: Public ordinary functions
Function, add-user-function: Private ordinary functions
Function, check-expression-p: Private ordinary functions
Function, closure-template-parse: Public ordinary functions
Function, compile-cl-templates: Public ordinary functions
Function, compile-namespace: Private ordinary functions
Function, compile-to-requirejs: Private ordinary functions
Function, copy-print-handler: Private ordinary functions
Function, decode-uri: Public ordinary functions
Function, encode-string: Private ordinary functions
Function, encode-uri: Public ordinary functions
Function, encode-uri-component: Public ordinary functions
Function, ensure-ttable-package: Public ordinary functions
Function, escape-html: Public ordinary functions
Function, find-user-function: Private ordinary functions
Function, has-data: Private ordinary functions
Function, index: Private ordinary functions
Function, is-first: Private ordinary functions
Function, is-last: Private ordinary functions
Function, lispify-name: Public ordinary functions
Function, lispify-string: Public ordinary functions
Function, make-all-user-print-directives-handler: Private ordinary functions
Function, make-and-handler: Private ordinary functions
Function, make-boolean-expression-handler: Private ordinary functions
Function, make-call-data-handler: Private ordinary functions
Function, make-code-block-handler: Private ordinary functions
Function, make-dict: Private ordinary functions
Function, make-foreach-function-handler: Private ordinary functions
Function, make-function-handler: Private ordinary functions
Function, make-if-operator-handler: Private ordinary functions
Function, make-not-handler: Private ordinary functions
Function, make-or-handler: Private ordinary functions
Function, make-param-handler: Private ordinary functions
Function, make-print-handler: Private ordinary functions
Function, make-switch-command-handler: Private ordinary functions
Function, make-user-print-directive-handler: Private ordinary functions
Function, not-equal: Public ordinary functions
Function, not-quote-p: Private ordinary functions
Function, package-ttable: Public ordinary functions
Function, parse-expression: Public ordinary functions
Function, parse-template: Public ordinary functions
Function, parse-template-name: Private ordinary functions
Function, print-handler-impl: Private ordinary functions
Function, print-handler-module: Private ordinary functions
Function, print-handler-name: Private ordinary functions
Function, print-handler-p: Private ordinary functions
Function, print-handler-param-converter: Private ordinary functions
Function, reduce-infix: Private ordinary functions
Function, reduce-ref: Private ordinary functions
Function, replace-subseq: Private ordinary functions
Function, replace-substition: Private ordinary functions
Function, simple-text-char-p: Private ordinary functions
Function, simplify-code: Private ordinary functions
Function, text-neighboring-strings: Private ordinary functions
Function, trim-whitespace: Private ordinary functions
Function, ttable-call-template: Public ordinary functions
Function, ttable-extend-package: Public ordinary functions
Function, ttable-find-template: Public ordinary functions
Function, ttable-register-template: Public ordinary functions
Function, ttable-template-name-list: Private ordinary functions
Function, user-print-directive-p: Public ordinary functions
Function, write-call-name: Private ordinary functions
Function, write-call-with-params: Private ordinary functions
Function, write-call-without-params: Private ordinary functions
Function, write-custom-print-directives: Private ordinary functions
Function, write-indent: Private ordinary functions
Function, write-namespace: Private ordinary functions
Function, write-namespace-body: Private ordinary functions
Function, write-namespace-declaration: Private ordinary functions
Function, write-namespace-helpers: Private ordinary functions
Function, write-template: Private ordinary functions
Function, write-template-atom: Private ordinary functions

G
Generic Function, %nonblank: Private generic functions
Generic Function, %same-name: Private generic functions
Generic Function, arref-position: Public generic functions
Generic Function, call-data: Public generic functions
Generic Function, call-name: Public generic functions
Generic Function, call-namespace: Public generic functions
Generic Function, call-params: Public generic functions
Generic Function, comment-multiline-p: Public generic functions
Generic Function, comment-text: Public generic functions
Generic Function, compile-js-templates: Public generic functions
Generic Function, compile-template: Public generic functions
Generic Function, compile-to-js: Private generic functions
Generic Function, dotref-jsname: Public generic functions
Generic Function, dotref-name: Public generic functions
Generic Function, fcall-args: Public generic functions
Generic Function, fcall-jsname: Public generic functions
Generic Function, fcall-name: Public generic functions
Generic Function, fetch-keys: Public generic functions
Generic Function, fetch-property: Public generic functions
Generic Function, for-code-block: Public generic functions
Generic Function, for-range: Public generic functions
Generic Function, for-varname: Public generic functions
Generic Function, foreach-code-block: Public generic functions
Generic Function, foreach-expression: Public generic functions
Generic Function, foreach-if-empty-code: Public generic functions
Generic Function, foreach-varname: Public generic functions
Generic Function, if-command-options: Public generic functions
Generic Function, list-expr-values: Public generic functions
Generic Function, literal-content: Public generic functions
Generic Function, make-command-handler: Private generic functions
Generic Function, make-expression-handler: Private generic functions
Generic Function, map-expr-items: Public generic functions
Generic Function, namespace-name: Public generic functions
Generic Function, namespace-templates: Public generic functions
Generic Function, op-args: Public generic functions
Generic Function, op-name: Public generic functions
Generic Function, print-directives: Public generic functions
Generic Function, print-expression: Public generic functions
Generic Function, ref-expr: Public generic functions
Generic Function, register-print-handler: Public generic functions
Generic Function, switch-cases: Public generic functions
Generic Function, switch-default: Public generic functions
Generic Function, switch-expression: Public generic functions
Generic Function, template-code-block: Public generic functions
Generic Function, template-name: Public generic functions
Generic Function, template-properties: Public generic functions
Generic Function, ttable-hash: Private generic functions
Generic Function, ttable-prototype: Private generic functions
Generic Function, var-jsname: Public generic functions
Generic Function, var-name: Public generic functions
Generic Function, with-body: Public generic functions
Generic Function, with-vars: Public generic functions
Generic Function, write-command: Private generic functions
Generic Function, write-expression: Private generic functions

H
has-data: Private ordinary functions

I
if-command-options: Public generic functions
if-command-options: Public generic functions
index: Private ordinary functions
is-first: Private ordinary functions
is-last: Private ordinary functions

L
lispify-name: Public ordinary functions
lispify-string: Public ordinary functions
list-expr-values: Public generic functions
list-expr-values: Public generic functions
literal-content: Public generic functions
literal-content: Public generic functions

M
Macro, define-escape-sequence: Private macros
Macro, define-operator: Private macros
Macro, define-print-directive: Private macros
Macro, define-print-syntax: Public macros
Macro, define-rule: Private macros
Macro, define-substitions: Private macros
Macro, with-closure-template-rules: Private macros
Macro, with-increase-indent: Private macros
Macro, with-local-var: Private macros
Macro, with-user-functions: Public macros
Macro, with-write-parenthesis: Private macros
make-all-user-print-directives-handler: Private ordinary functions
make-and-handler: Private ordinary functions
make-boolean-expression-handler: Private ordinary functions
make-call-data-handler: Private ordinary functions
make-code-block-handler: Private ordinary functions
make-command-handler: Private generic functions
make-command-handler: Private generic functions
make-command-handler: Private generic functions
make-command-handler: Private generic functions
make-command-handler: Private generic functions
make-command-handler: Private generic functions
make-command-handler: Private generic functions
make-command-handler: Private generic functions
make-command-handler: Private generic functions
make-command-handler: Private generic functions
make-command-handler: Private generic functions
make-dict: Private ordinary functions
make-expression-handler: Private generic functions
make-expression-handler: Private generic functions
make-expression-handler: Private generic functions
make-expression-handler: Private generic functions
make-expression-handler: Private generic functions
make-expression-handler: Private generic functions
make-expression-handler: Private generic functions
make-expression-handler: Private generic functions
make-expression-handler: Private generic functions
make-expression-handler: Private generic functions
make-foreach-function-handler: Private ordinary functions
make-function-handler: Private ordinary functions
make-if-operator-handler: Private ordinary functions
make-not-handler: Private ordinary functions
make-or-handler: Private ordinary functions
make-param-handler: Private ordinary functions
make-print-handler: Private ordinary functions
make-switch-command-handler: Private ordinary functions
make-user-print-directive-handler: Private ordinary functions
map-expr-items: Public generic functions
map-expr-items: Public generic functions
Method, %nonblank: Private generic functions
Method, %nonblank: Private generic functions
Method, %nonblank: Private generic functions
Method, %nonblank: Private generic functions
Method, %nonblank: Private generic functions
Method, %nonblank: Private generic functions
Method, %nonblank: Private generic functions
Method, %same-name: Private generic functions
Method, %same-name: Private generic functions
Method, %same-name: Private generic functions
Method, %same-name: Private generic functions
Method, %same-name: Private generic functions
Method, %same-name: Private generic functions
Method, %same-name: Private generic functions
Method, arref-position: Public generic functions
Method, call-data: Public generic functions
Method, call-name: Public generic functions
Method, call-namespace: Public generic functions
Method, call-params: Public generic functions
Method, comment-multiline-p: Public generic functions
Method, comment-text: Public generic functions
Method, compile-js-templates: Public generic functions
Method, compile-template: Public generic functions
Method, compile-template: Public generic functions
Method, compile-template: Public generic functions
Method, compile-template: Public generic functions
Method, compile-template: Public generic functions
Method, compile-template: Public generic functions
Method, compile-template: Public generic functions
Method, compile-template: Public generic functions
Method, compile-to-js: Private generic functions
Method, compile-to-js: Private generic functions
Method, dotref-jsname: Public generic functions
Method, dotref-name: Public generic functions
Method, fcall-args: Public generic functions
Method, fcall-jsname: Public generic functions
Method, fcall-name: Public generic functions
Method, fetch-keys: Public generic functions
Method, fetch-keys: Public generic functions
Method, fetch-keys: Public generic functions
Method, fetch-keys: Public generic functions
Method, fetch-property: Public generic functions
Method, fetch-property: Public generic functions
Method, fetch-property: Public generic functions
Method, fetch-property: Public generic functions
Method, fetch-property: Public generic functions
Method, fetch-property: Public generic functions
Method, for-code-block: Public generic functions
Method, for-range: Public generic functions
Method, for-varname: Public generic functions
Method, foreach-code-block: Public generic functions
Method, foreach-expression: Public generic functions
Method, foreach-if-empty-code: Public generic functions
Method, foreach-varname: Public generic functions
Method, if-command-options: Public generic functions
Method, list-expr-values: Public generic functions
Method, literal-content: Public generic functions
Method, make-command-handler: Private generic functions
Method, make-command-handler: Private generic functions
Method, make-command-handler: Private generic functions
Method, make-command-handler: Private generic functions
Method, make-command-handler: Private generic functions
Method, make-command-handler: Private generic functions
Method, make-command-handler: Private generic functions
Method, make-command-handler: Private generic functions
Method, make-command-handler: Private generic functions
Method, make-command-handler: Private generic functions
Method, make-expression-handler: Private generic functions
Method, make-expression-handler: Private generic functions
Method, make-expression-handler: Private generic functions
Method, make-expression-handler: Private generic functions
Method, make-expression-handler: Private generic functions
Method, make-expression-handler: Private generic functions
Method, make-expression-handler: Private generic functions
Method, make-expression-handler: Private generic functions
Method, make-expression-handler: Private generic functions
Method, map-expr-items: Public generic functions
Method, namespace-name: Public generic functions
Method, namespace-templates: Public generic functions
Method, op-args: Public generic functions
Method, op-name: Public generic functions
Method, output-files: Public standalone methods
Method, perform: Public standalone methods
Method, perform: Public standalone methods
Method, print-directives: Public generic functions
Method, print-expression: Public generic functions
Method, ref-expr: Public generic functions
Method, register-print-handler: Public generic functions
Method, register-print-handler: Public generic functions
Method, register-print-handler: Public generic functions
Method, switch-cases: Public generic functions
Method, switch-default: Public generic functions
Method, switch-expression: Public generic functions
Method, template-code-block: Public generic functions
Method, template-name: Public generic functions
Method, template-properties: Public generic functions
Method, ttable-hash: Private generic functions
Method, ttable-prototype: Private generic functions
Method, var-jsname: Public generic functions
Method, var-name: Public generic functions
Method, with-body: Public generic functions
Method, with-vars: Public generic functions
Method, write-command: Private generic functions
Method, write-command: Private generic functions
Method, write-command: Private generic functions
Method, write-command: Private generic functions
Method, write-command: Private generic functions
Method, write-command: Private generic functions
Method, write-command: Private generic functions
Method, write-command: Private generic functions
Method, write-command: Private generic functions
Method, write-command: Private generic functions
Method, write-command: Private generic functions
Method, write-expression: Private generic functions
Method, write-expression: Private generic functions
Method, write-expression: Private generic functions
Method, write-expression: Private generic functions
Method, write-expression: Private generic functions
Method, write-expression: Private generic functions
Method, write-expression: Private generic functions
Method, write-expression: Private generic functions
Method, write-expression: Private generic functions
Method, write-expression: Private generic functions
Method, write-expression: Private generic functions
Method, write-expression: Private generic functions
Method, write-expression: Private generic functions

N
namespace-name: Public generic functions
namespace-name: Public generic functions
namespace-templates: Public generic functions
namespace-templates: Public generic functions
not-equal: Public ordinary functions
not-quote-p: Private ordinary functions

O
op-args: Public generic functions
op-args: Public generic functions
op-name: Public generic functions
op-name: Public generic functions
output-files: Public standalone methods

P
package-ttable: Public ordinary functions
parse-expression: Public ordinary functions
parse-template: Public ordinary functions
parse-template-name: Private ordinary functions
perform: Public standalone methods
perform: Public standalone methods
print-directives: Public generic functions
print-directives: Public generic functions
print-expression: Public generic functions
print-expression: Public generic functions
print-handler-impl: Private ordinary functions
print-handler-module: Private ordinary functions
print-handler-name: Private ordinary functions
print-handler-p: Private ordinary functions
print-handler-param-converter: Private ordinary functions

R
reduce-infix: Private ordinary functions
reduce-ref: Private ordinary functions
ref-expr: Public generic functions
ref-expr: Public generic functions
register-print-handler: Public generic functions
register-print-handler: Public generic functions
register-print-handler: Public generic functions
register-print-handler: Public generic functions
replace-subseq: Private ordinary functions
replace-substition: Private ordinary functions

S
simple-text-char-p: Private ordinary functions
simplify-code: Private ordinary functions
switch-cases: Public generic functions
switch-cases: Public generic functions
switch-default: Public generic functions
switch-default: Public generic functions
switch-expression: Public generic functions
switch-expression: Public generic functions

T
template-code-block: Public generic functions
template-code-block: Public generic functions
template-name: Public generic functions
template-name: Public generic functions
template-properties: Public generic functions
template-properties: Public generic functions
text-neighboring-strings: Private ordinary functions
trim-whitespace: Private ordinary functions
ttable-call-template: Public ordinary functions
ttable-extend-package: Public ordinary functions
ttable-find-template: Public ordinary functions
ttable-hash: Private generic functions
ttable-hash: Private generic functions
ttable-prototype: Private generic functions
ttable-prototype: Private generic functions
ttable-register-template: Public ordinary functions
ttable-template-name-list: Private ordinary functions

U
user-print-directive-p: Public ordinary functions

V
var-jsname: Public generic functions
var-jsname: Public generic functions
var-name: Public generic functions
var-name: Public generic functions

W
with-body: Public generic functions
with-body: Public generic functions
with-closure-template-rules: Private macros
with-increase-indent: Private macros
with-local-var: Private macros
with-user-functions: Public macros
with-vars: Public generic functions
with-vars: Public generic functions
with-write-parenthesis: Private macros
write-call-name: Private ordinary functions
write-call-with-params: Private ordinary functions
write-call-without-params: Private ordinary functions
write-command: Private generic functions
write-command: Private generic functions
write-command: Private generic functions
write-command: Private generic functions
write-command: Private generic functions
write-command: Private generic functions
write-command: Private generic functions
write-command: Private generic functions
write-command: Private generic functions
write-command: Private generic functions
write-command: Private generic functions
write-command: Private generic functions
write-custom-print-directives: Private ordinary functions
write-expression: Private generic functions
write-expression: Private generic functions
write-expression: Private generic functions
write-expression: Private generic functions
write-expression: Private generic functions
write-expression: Private generic functions
write-expression: Private generic functions
write-expression: Private generic functions
write-expression: Private generic functions
write-expression: Private generic functions
write-expression: Private generic functions
write-expression: Private generic functions
write-expression: Private generic functions
write-expression: Private generic functions
write-indent: Private ordinary functions
write-namespace: Private ordinary functions
write-namespace-body: Private ordinary functions
write-namespace-declaration: Private ordinary functions
write-namespace-helpers: Private ordinary functions
write-template: Private ordinary functions
write-template-atom: Private ordinary functions


A.3 Variables

Jump to:   *   +  
A   B   C   D   E   H   I   J   M   N   O   P   R   S   T   V  
Index Entry  Section

*
*autoescape*: Private special variables
*closure-template-rules*: Private special variables
*default-closure-template-package*: Public special variables
*indent-level*: Private special variables
*infix-ops-priority*: Private special variables
*injected-data*: Public special variables
*js-custom-print-handlers*: Private special variables
*js-namespace*: Private special variables
*local-variables*: Private special variables
*loops-vars*: Private special variables
*possible-functions*: Private special variables
*requirejs-custom-print-handlers*: Private special variables
*requirejs-deps*: Private special variables
*substitiotn-map*: Private special variables
*symbol-counter*: Private special variables
*template-data*: Private special variables
*ttable*: Public special variables
*uglify*: Public special variables
*user-functions*: Private special variables
*user-print-directive-handlers*: Private special variables

+
+json-lisp-escaped-chars+: Private special variables
+reserved-js-words+: Private special variables
+standard-print-directives+: Private special variables

A
additional: Private classes
args: Public classes
args: Public classes

B
base: Private classes
body: Public classes

C
cases: Public classes
code-block: Public classes
code-block: Public classes
codeblock: Public classes
content: Public classes

D
data: Public classes
default: Public classes
directives: Public classes

E
expr: Public classes
expr: Public classes
expression: Public classes
expression: Private classes

H
hash: Public classes

I
if-empty-code: Public classes
impl: Private structures

J
jsname: Public classes
jsname: Public classes
jsname: Public classes

M
module: Private structures
multiline: Public classes

N
name: Public classes
name: Public classes
name: Public classes
name: Public classes
name: Public classes
name: Public classes
name: Public classes
name: Private structures
namespace: Public classes

O
options: Public classes

P
pairs: Public classes
param-converter: Private structures
params: Public classes
position: Public classes
properties: Public classes
prototype: Public classes

R
range: Public classes

S
Slot, additional: Private classes
Slot, args: Public classes
Slot, args: Public classes
Slot, base: Private classes
Slot, body: Public classes
Slot, cases: Public classes
Slot, code-block: Public classes
Slot, code-block: Public classes
Slot, codeblock: Public classes
Slot, content: Public classes
Slot, data: Public classes
Slot, default: Public classes
Slot, directives: Public classes
Slot, expr: Public classes
Slot, expr: Public classes
Slot, expression: Public classes
Slot, expression: Private classes
Slot, hash: Public classes
Slot, if-empty-code: Public classes
Slot, impl: Private structures
Slot, jsname: Public classes
Slot, jsname: Public classes
Slot, jsname: Public classes
Slot, module: Private structures
Slot, multiline: Public classes
Slot, name: Public classes
Slot, name: Public classes
Slot, name: Public classes
Slot, name: Public classes
Slot, name: Public classes
Slot, name: Public classes
Slot, name: Public classes
Slot, name: Private structures
Slot, namespace: Public classes
Slot, options: Public classes
Slot, pairs: Public classes
Slot, param-converter: Private structures
Slot, params: Public classes
Slot, position: Public classes
Slot, properties: Public classes
Slot, prototype: Public classes
Slot, range: Public classes
Slot, templates: Public classes
Slot, text: Public classes
Slot, type: Public classes
Slot, values: Public classes
Slot, varname: Public classes
Slot, varname: Public classes
Slot, vars: Public classes
Special Variable, *autoescape*: Private special variables
Special Variable, *closure-template-rules*: Private special variables
Special Variable, *default-closure-template-package*: Public special variables
Special Variable, *indent-level*: Private special variables
Special Variable, *infix-ops-priority*: Private special variables
Special Variable, *injected-data*: Public special variables
Special Variable, *js-custom-print-handlers*: Private special variables
Special Variable, *js-namespace*: Private special variables
Special Variable, *local-variables*: Private special variables
Special Variable, *loops-vars*: Private special variables
Special Variable, *possible-functions*: Private special variables
Special Variable, *requirejs-custom-print-handlers*: Private special variables
Special Variable, *requirejs-deps*: Private special variables
Special Variable, *substitiotn-map*: Private special variables
Special Variable, *symbol-counter*: Private special variables
Special Variable, *template-data*: Private special variables
Special Variable, *ttable*: Public special variables
Special Variable, *uglify*: Public special variables
Special Variable, *user-functions*: Private special variables
Special Variable, *user-print-directive-handlers*: Private special variables
Special Variable, +json-lisp-escaped-chars+: Private special variables
Special Variable, +reserved-js-words+: Private special variables
Special Variable, +standard-print-directives+: Private special variables

T
templates: Public classes
text: Public classes
type: Public classes

V
values: Public classes
varname: Public classes
varname: Public classes
vars: Public classes


A.4 Data types

Jump to:   A   C   D   E   F   I   J   L   M   N   O   P   R   S   T   V   W  
Index Entry  Section

A
arref: Public classes
asdf.lisp: The closure-template/asdf․lisp file

C
call: Public classes
Class, arref: Public classes
Class, call: Public classes
Class, closure-template: Public classes
Class, comment: Public classes
Class, common-lisp-backend: Private classes
Class, dict: Private classes
Class, dotref: Public classes
Class, fcall: Public classes
Class, for-command: Public classes
Class, foreach: Public classes
Class, if-command: Public classes
Class, injected-data: Public classes
Class, javascript-backend: Private classes
Class, list-expr: Public classes
Class, literal: Public classes
Class, map-expr: Public classes
Class, namespace: Public classes
Class, operator: Public classes
Class, print-command: Public classes
Class, ref: Private classes
Class, requirejs-backend: Private classes
Class, switch-command: Public classes
Class, template: Public classes
Class, ttable: Public classes
Class, var: Public classes
Class, with: Public classes
closure-template: The closure-template system
closure-template: The closure-template package
closure-template: Public classes
closure-template.asd: The closure-template/closure-template․asd file
closure-template.parser: The closure-template․parser package
command.lisp: The closure-template/parser/command․lisp file
comment: Public classes
common-lisp-backend: The closure-template/common-lisp-backend module
common-lisp-backend: Private classes
common-lisp-backend.lisp: The closure-template/common-lisp-backend/common-lisp-backend․lisp file

D
defpackage.lisp: The closure-template/parser/defpackage․lisp file
defpackage.lisp: The closure-template/defpackage․lisp file
dict: Private classes
dotref: Public classes

E
escape.lisp: The closure-template/common-lisp-backend/escape․lisp file
expression.lisp: The closure-template/parser/expression․lisp file

F
fcall: Public classes
File, asdf.lisp: The closure-template/asdf․lisp file
File, closure-template.asd: The closure-template/closure-template․asd file
File, command.lisp: The closure-template/parser/command․lisp file
File, common-lisp-backend.lisp: The closure-template/common-lisp-backend/common-lisp-backend․lisp file
File, defpackage.lisp: The closure-template/parser/defpackage․lisp file
File, defpackage.lisp: The closure-template/defpackage․lisp file
File, escape.lisp: The closure-template/common-lisp-backend/escape․lisp file
File, expression.lisp: The closure-template/parser/expression․lisp file
File, interface.lisp: The closure-template/interface․lisp file
File, javascript-backend.lisp: The closure-template/javascript-backend/javascript-backend․lisp file
File, standard-templates.lisp: The closure-template/standard-templates․lisp file
for-command: Public classes
foreach: Public classes

I
if-command: Public classes
injected-data: Public classes
interface.lisp: The closure-template/interface․lisp file

J
javascript-backend: The closure-template/javascript-backend module
javascript-backend: Private classes
javascript-backend.lisp: The closure-template/javascript-backend/javascript-backend․lisp file

L
list-expr: Public classes
literal: Public classes

M
map-expr: Public classes
Module, common-lisp-backend: The closure-template/common-lisp-backend module
Module, javascript-backend: The closure-template/javascript-backend module
Module, parser: The closure-template/parser module

N
namespace: Public classes

O
operator: Public classes

P
Package, closure-template: The closure-template package
Package, closure-template.parser: The closure-template․parser package
parser: The closure-template/parser module
print-command: Public classes
print-handler: Private structures

R
ref: Private classes
requirejs-backend: Private classes

S
standard-templates.lisp: The closure-template/standard-templates․lisp file
Structure, print-handler: Private structures
switch-command: Public classes
System, closure-template: The closure-template system

T
template: Public classes
ttable: Public classes

V
var: Public classes

W
with: Public classes