text:
\subsection{Fixed- and Mixed-initiative Dialogs}

Consider a dialog to purchase gasoline using a credit card.  The customer must
first swipe the card, then chose a grade (of octane), and finally indicate
whether they desire a receipt.  Such a dialog is said to be a {\it fixed}
dialog due to the fixed order of the questions from which the user is not
permitted to deviate in her responses~\cite{MII-UR}.  An enumerated
specification of this dialog is \{$\prec$\textrm{credit-card grade
receipt}$\succ$\}.
An {\it enumerated specification} is a set of episodes, and an {\it
episode} is an ordered list of questions to be posed and answered from the
start of the dialog through dialog completion.  Intuitively, a specification is
a complete set all possible ways to complete a dialog. We can think of a
dialog specification as a set of {\it totally ordered sets} or {\it chains}.
We use a {\it Hasse} diagram, a graphical and
concise depiction of a {\it partially ordered set}, to represent a dialog
specification.  A relation $R$ with the set $S$ over whose Cartesian
product $R$ is defined is a {\it partially ordered set} (or {\it poset}) if $R$
is a reflexive, antisymmetric, and transitive relation.  This
means that some of the elements of $S$ may be unordered based on the relation
$R$.  On the other hand,
a set $S$ is a {\it totally ordered set} according to a relation $R$ iff for
every two elements $(x,y) \in S$, $x R y$ or $y R x$.  Every totally ordered
set is also a partially ordered set, but the reverse is not necessarily true.

\begin{figure}
\centering
\begin{tabular}{c}
\includegraphics[scale=0.42]{posets.eps}\\
\end{tabular}
\caption{A spectrum of unsolicited reporting,
mixed-initiative\ dialogs: Hasse diagram representations of enumerated dialog
specifications spanning from fixed (a) to complete, mixed-initiative\ (e) dialogs.}
\label{posets}
\end{figure}

Fig.~\ref{posets}a illustrates the Hasse diagram for this gas dialog
specification.  A Hasse diagram is read bottom-up.  Here, the set $S$ of the
poset is the set of the questions posed in the dialog and $R$ of the poset is
the `must be answered before' relation denoted with an upward arrow between the
source and target of the arrow.

Flexible dialogs typically support multiple completion paths.  For instance,
consider a dialog for ordering coffee.  The participant must select a size and
blend, and indicate whether room for cream is desired.  Since possible
responses to these questions are completely independent of each other, the
dialog designer may wish to permit the participant to communicate the answers
in any combinations and in any order.  For example, some customers may prefer
to use a $\prec$\textrm{size blend cream}$\succ$ episode:

{\scriptsize
\begin{dialogue}
\speak{System} Please select a size.
\speak{User} Small.
\speak{System} Please select a blend.
\speak{User} Dark.
\speak{System} Please specify whether you want room for cream.
\speak{User} No.
\end{dialogue}}

\noindent
while others may use a
$\prec$\textrm{blend cream size}$\succ$ episode:

{\scriptsize
\begin{dialogue}
\speak{System} Please select a size.
\speak{User} Mild.
\speak{System} Okay mild blend. Please select a size.
\speak{User} With room for cream.
\speak{System} Okay with room for cream.  Please select a size.
\speak{User} Large.
\end{dialogue}}

\noindent
while still other might like to use a
$\prec$\textrm{(size blend) cream}$\succ$ episode,
where answers to the questions enclosed in parentheses
must be communicated in a single utterance:

{\scriptsize
\begin{dialogue}
\speak{System} Please select a size.
\speak{User} Small, french roast.
\speak{System} Please specify whether you want room for cream.
\speak{User} No.
\end{dialogue}}

\noindent
Therefore, to accommodate all possibilities we specify this dialog as:

\begin{center}
{\scriptsize
\begin{tabular}{lll}
\{$\prec$(size blend cream)$\succ$, &
$\prec$(size blend) cream$\succ$, &
$\prec$cream (size blend)$\succ$,\\
\ \,$\prec$(blend cream) size$\succ$, &
$\prec$size (blend cream)$\succ$, &
$\prec$(size cream) blend$\succ$,\\
\ \,$\prec$blend (size cream)$\succ$, &
$\prec$size blend cream$\succ$, &
$\prec$size cream blend$\succ$,\\
\ \,$\prec$blend size cream$\succ$, &
$\prec$blend cream size$\succ$, &
$\prec$cream blend size$\succ$,\\
\ \,$\prec$cream size blend$\succ$\}.
\end{tabular}}
\end{center}

Notice that this specification indicates that answers, to the set of questions
in the dialog, may be communicated in utterances corresponding to all possible
set partitions of the set of questions.  Moreover, all possible permutations of
those partitions are specified as well.  The Hasse diagram for this dialog is
given in Fig.~\ref{posets}e.  The absence of arrows between the size, blend,
cream, (size blend), (size cream), (blend cream), and (size blend cream)
elements indicates that the times at which each of those utterances may be
communicated are unordered.  Notice that the Hasse diagram is a compressed
(and, thus, optimal) representation capturing the requirements in the
specification.  Moreover, the compression is lossless (i.e., the episodes in
the enumerated specification may be reconstructed from the diagram).

Giving the user more flexibility in how to proceed through a dialog increases
the number of episodes in its enumerated specification.  This coffee ordering
dialog  is a {\it mixed-initiative} dialog~\cite{MII-UR}. There are multiple tiers of mixed-initiative\
interaction.  The tier considered in this article is called {\it unsolicited
reporting}---an interaction strategy where, in response to a question, at any
point in the dialog, the user may provide an unsolicited response to a
forthcoming question.

\begin{table}
\centering
\caption{Sample dialogs involving permutations and/or partitions of responses to questions.}
{\scriptsize
\begin{tabular}{lll}
\hline
& {\bf Only a single response} & {\bf Multiple responses}\\
& {\bf per utterance} & {\bf per utterance}\\
\hline
{\bf Only one} & Confirmation dialog boxes & Online forms with\\
{\bf utterance} & common in application software & multiple fields\\
\hline
{\bf Totally} & Purchasing gasoline with a &
Providing a telephone,\\
{\bf ordered} & credit card; buying beverages &
credit card, or PIN number\\
& from a vending machine & through voice\\
\hline
{\bf Partially} &
ATMs, and airport or train kiosks &
Ordering a coffee or pizza\\
{\bf ordered} & &\\
\hline
\end{tabular}}
\label{prac-space}
\end{table}

When all possible permutations (i.e., orders) of all possible partitions (i.e.,
combinations) of responses to questions are supported, we call the dialog a
{\it complete}, mixed-initiative\ dialog.  Fig.~\ref{posets} represents a space from fixed
dialogs to complete, mixed-initiative\ dialogs, encompassing a wide variety of possible
unsolicited reporting, mixed-initiative\ dialogs. Table~\ref{prac-space} identifies some
practical, everyday dialogs which fall into the cross product of permutations
and partitions of responses to questions.

\begin{figure}
\centering
\includegraphics[scale=0.50]{overview.eps}
\caption{Conceptual overview of our research project.}
\label{overview}
\end{figure}

Fig.~\ref{overview} provides an overview of this research project.  We start
with an enumerated dialog specification (i.e., a set of episodes) and mine it
for a compressed representation of the dialog in a programming languages
notation which capture the requirements of the dialog (transition from the left
to the center of Fig.~\ref{overview})---a process we call {\it dialog mining}.
From that intermediate, implementation-neutral representation we automatically
generate a dialog stager capable of realizing the dialog or, in other words,
staging the interaction (transition from the center to the right of
Fig.~\ref{overview}).

\subsection{Spectrum of Dialogs}

Fixed and complete, mixed-initiative\ dialogs each represent an opposite end of this
spectrum of unsolicited reporting dialogs as shown in Fig.~\ref{posets}. There
are several dialogs between those two ends.  For instance, consider a
specification for an ATM dialog where PIN and amount must be entered first and
last, respectively, but the transaction type (deposit or withdrawal) and
account type (checking or savings) can be communicated in any order (see
Fig.~\ref{posets}b):

\begin{center}
{\scriptsize
\{$\prec$PIN transaction account amount$\succ$,
$\prec$PIN account transaction amount$\succ$\}}.
\end{center}

\noindent This dialog contains an embedded, mixed-initiative\ sub-dialog~\cite{MII-UR}.

Alternatively, consider a dialog for ordering lunch where requesting a receipt
or indicating whether you are dining-in or taking-out can be communicated
either first or last, but specification of sandwich and beverage must occur in
that order:

\begin{center}
{\scriptsize
\begin{tabular}{l}
\{$\prec$receipt sandwich beverage dine-in/take-out$\succ$,
$\prec$dine-in/take-out sandwich beverage receipt$\succ$\}.
\end{tabular}}
\end{center}

\noindent This dialog contains an embedded, fixed sub-dialog and, unlike the
prior examples, cannot be captured by a single poset
(see Fig.~\ref{posets}c).

Lastly, consider a dialog containing two embedded,
complete, mixed-initiative\ sub-dialogs~\cite{MIIMC} (see Fig.~\ref{posets}d):

\begin{center}
{\scriptsize
\begin{tabular}{lll}
\{$\prec$cream sugar eggs toast$\succ$, &
$\prec$cream sugar toast eggs$\succ$, &
$\prec$(cream sugar) toast eggs$\succ$,\\
\ \,$\prec$(cream sugar) eggs toast$\succ$, &
$\prec$sugar cream eggs toast$\succ$, &
$\prec$sugar cream toast eggs$\succ$,\\
\ \,$\prec$eggs toast cream sugar$\succ$, &
$\prec$eggs toast sugar cream$\succ$, &
$\prec$toast eggs cream sugar$\succ$,\\
\ \,$\prec$toast eggs sugar cream$\succ$, &
$\prec$sugar cream (eggs toast)$\succ$, &
$\prec$cream sugar (eggs toast)$\succ$,\\
\ \,$\prec$(eggs toast) (cream sugar)$\succ$, &
$\prec$(cream sugar) (eggs toast)$\succ$\}.
\end{tabular}}
\end{center}

\noindent Here, the user can specify coffee and breakfast choices in any order,
and can specify the sub-parts of coffee and breakfast in any order, but cannot
mix the atomic responses of the two (i.e., episodes such as $\prec$cream eggs
sugar toast$\succ$ are not permitted).

There are two assumptions we make on this spectrum of unsolicited reporting,
mixed-initiative\ dialogs in this article: i) each episode in a specification has a
consistent length (i.e., number of questions) and ii) the permissible responses
for each question are completely independent of each other (i.e., no response
to a question ever precludes a particular response to another question).

\subsection{Contributions}

We modified and improved a computational model for mixed-initiative\
interaction~\cite{MIIMC,vt-staging,WWW2004} or, in other words, a new way to
specify and stage mixed-initiative\ dialogs.  The primary theme of this approach to identify
as many embedded complete, mixed-initiative\ sub-dialogs in a specification since they can
be advantageously handled by partial evaluation.  Identifying these complete,
mixed-initiative\ sub-dialogs permits one to plan for only one episode in a script and
judiciously apply partial evaluation to it to realize all possible variations
of that episode.  This non-traditional use of partial evaluation makes the
dialog flexible without having to explicitly hardcode all supported episodes
into the control flow of the implementation.  We generalized the activity of
building a stager and, in 233 loc, generate stagers for a variety of
unsolicited reporting, mixed-initiative\ dialogs.  We feel that we are at a vanguard of a
fourth dialog model in the spirit of the three models (i.e., FSAs, CFGs, and
events) identified in~\cite{3dialogModels}.  We have
extended~\cite{MIIMC,vt-staging,WWW2004} in multiple ways.  We summarize our
contributions as, we

\begin{itemize}

\item recognize the need to support multiple orders of responses independent of
multiple responses per utterance and to bring more structure to the space of
unsolicited reported, mixed-initiative\ dialogs. To do so we enriched and augmented a
programming languages notation for specifying dialogs by adding and modifying
dialog types;

\item introduce a dialog mining component, including the layering essential to,
and deemed critical in~\cite{MIIMC} for, implementing dialogs containing nested
sub-dialogs.  Ramakrishnan, Capra, and P{\'{e}}rez-Qui{\~{n}}ones note that
developing an initial, optimal representation of a dialog is an open research
issue in~\cite{MIIMC}:

\begin{quote}
``An interesting research issue is: [g]iven
(i) a set of interaction sequences [(referred to as
episodes here)],
and (ii) addressable information (such as arguments and slot variables),
determine
(iii) the smallest program so that every interaction sequence
can be staged \dots. [T]his requires algorithms to automatically decompose
and `layer' interaction sequences into those that are best
addressed [by an] interpreter and those that can benefit from
representation and specialization by [a] partial evaluator.''~\cite{MIIMC};
\end{quote}

\noindent
Our dialog miner addresses this issue.

\item automatically generate stagers for a variety of unsolicited reporting,
mixed-initiative\ dialogs, including those involving sub-dialogs;

\item encompassed all of above in a free, downloadable dialog modeling toolkit.

\end{itemize}

\subsection{Future Work}

We intend to widen the scope of the unsolicited reporting, mixed-initiative\ dialogs which
can be accommodated (i.e., specified and staged) in this model.  For instance,
we are enhancing our mining and layering algorithms so that we can recognize
and stage dialogs, involving more than one sub-dialog, specified with a
$SPE^{'}$ in the numerator such as dialog d in Table~\ref{examples}.  Since
Scheme supports first-class and higher-order functions, we intend to explore
partially evaluating scripts which, unlike that shown in Listing~\ref{script},
accept functions representing scripts for sub-dialogs as parameters rather than
individual responses.  Moreover, we are working on algorithms to deal with
dialogs where the episodes therein cannot be represented by a single poset
(e.g., example c in Fig.~\ref{posets}).  We have identified specific examples
where a dialog cannot be specified with less than $y$ posets, yet can be staged
using $x$ scripts, where $x < y$.  We intend to study such cases for insight
into solving this problem in general.

Beyond these issues, we intend to lift additional restrictions on the space of
unsolicited reporting, mixed-initiative\ dialogs to further expand the space of dialogs on
which we work.  For example, not all dialogs have a consistent number of
questions across all episodes.  More generally, some dialogs have dependencies
between responses as identified in~\cite{JASIST2007}, in a slightly different
context.  In the dialogs we have presented in this article, due to domain
semantics, the answers to the questions posed are completely independent of
each other.  In other words, any answer to any question does not disqualify any
of the answers to any of the other questions.  However, in other domains such
complete independence may not exist.  For example, the 2011 Honda Civic Hybrid
is not available with a manual transmission and, therefore, there is no need to
prompt for transmission type once Honda and Civic are specified for make and
model, respectively.  Therefore, we must study how to programmatically
represent dependencies between the responses in a dialog.  We are currently
exploring a variety of options to deal with dependencies.  In covering a richer
assortment of unsolicited reporting, mixed-initiative\ dialogs, we intend to evolve the
dialog notation into a domain-specific language, and the toolkit into a rapid
dialog prototyping tool which dialog designers can use to explore and test a
variety of unsolicited reporting, mixed-initiative\ dialogs.

Nonetheless, communicating independent responses in a variety of orders and
combinations are practical aspects of common dialogs (as demonstrated in
Table~\ref{prac-space}).  Thus, we feel this approach and project is worthwhile
and especially timely when viewed in the context of improving the
implementation of dialogs within apps for smart phones.  Moreover, while the
programming languages notation presented here is not as expressive as a
context-free grammar, we feel that both the philosophical and conceptual
connections between natural and programming
languages~\cite{lingusticsideeffects} suggests that additional concepts from
programming languages concepts, such as reflection and first-class
continuations, will find a place in this model.

We envisage the long-term practical significance and broader impacts of this
work involving the incorporation of stagers based on partial evaluation into
ATM machines, airport or train kiosks, smart phones and similar devices, and
interactive voice responses systems, since the ubiquity of these systems in a
variety of service-oriented domains, such as banking, travel, education, and
health care, provide a landscape for the application of this model.

\subsection{Dialog Mining}

\begin{lstlisting}[float,frame=tblr,caption={Transcript of an
interactive session with the dialog miner illustrating
how compressed specifications in programming
languages notation, including specifications
a, b, and e in Table~\ref{examples},
are mined from enumerated specifications.},label=dialogmining1]
;; only one utterance; interpretation or complete evaluation
> (mine-expr '(((credit-card grade receipt))))
(("I" credit-card grade receipt))

;; example a: a fixed dialog specification;
;; totally-ordered with only a single response per utterance;
;; currying
> (mine-expr '((credit-card grade receipt)))
(("C" credit-card grade receipt))

;; totally ordered with multiple responses per utterance; partial function application n*
> (mine-expr '((size blend cream) ((size blend) cream)
                 (size (blend cream)) ((size blend cream))))
(("PFA_n*" size blend cream))

;; partially ordered with only a single response per utterance;
;; single-argument partial evaluation'
> (mine-expr (permutations '(size blend cream)))
(("SPE'" size blend cream))

;; example e: a complete, mixed-initiative dialog;
;; partially ordered with multiple responses per utterance;
;; partial evaluation*
> (mine-expr (append (permutations '(size blend cream))
                       '(((size blend) cream)
                         (cream (size blend))
                         (size (blend cream))
                         ((blend cream) size)
                         ((size cream) blend)
                         (blend (size cream))
                         ((size blend cream)))))
(("PE*" blend cream size))

;; example b: a dialog specification containing
;; an embedded, complete, mixed-initiative sub-dialog
> (mine-expr '((PIN account transaction amount) (PIN transaction account amount)))
(("C" PIN ("SPE'" account transaction) amount))
\end{lstlisting}

\begin{lstlisting}[float,firstnumber=37,frame=tblr,caption={Continuation of
transcript of an interactive session with the dialog miner
(in Listing~\ref{dialogmining1}) illustrating
how compressed specifications in programming languages notation,
including specifications c and d in Table~\ref{examples},
are mined from enumerated specifications.},label=dialogmining2]
;; example c: a dialog specification containing an embedded, fixed sub-dialog,
;; or the union of two fixed dialog specifications
> (mine-expr '((receipt sandwich beverage dine-in/takeout)
                 (dine-in/takeout sandwich beverage receipt)))
(("C" receipt sandwich beverage dine-in/takeout)
 ("C" dine-in/takeout sandwich beverage receipt))

;; example d: a dialog specification containing
;; two embedded, complete, mixed-initiative sub-dialogs;
> (mine-expr '((cream sugar eggs toast) (cream sugar toast eggs) (sugar cream eggs toast)
                 (sugar cream toast eggs) (eggs toast sugar cream)(eggs toast cream sugar)
                 (eggs toast (cream sugar)) (toast eggs sugar cream) (toast eggs cream sugar)
                 (toast eggs (cream sugar)) ((cream sugar) eggs toast)
                 ((cream sugar) toast eggs)
                 (cream sugar (eggs toast)) (sugar cream (eggs toast))
                 ((cream sugar) (eggs toast))
                 ((eggs toast) (cream sugar)) ((eggs toast) cream sugar)
                 ((eggs toast) sugar cream)))
(("SPE'" ("PE*" cream sugar) ("PE*" eggs toast)))

;; a dialog specification as the union of three expressions
> (mine-expr '((size blend cream) (size cream blend) (blend cream size)
                 (cream blend size) (blend size cream)))
(("C" ("SPE'" size blend) cream)
      ("C" size cream blend) ("C" ("SPE'" blend cream) size))

;; case demonstrating the incompleteness of heuristic
;; output should be (``SPE'" x (``C" y z))
> (mine-expr '((x y z) (y z x)))
(("C" x y z) ("C" y z x))
\end{lstlisting}

We designed a recursive, heuristic-based algorithm to address this problem, and
implemented it in 555 lines of Scheme code.  Listings~\ref{dialogmining1} and
\ref{dialogmining2} provide a transcript of an interactive session with our
dialog mining system.  The input to the miner is an enumerated dialog
specification expressed as a list of episodes, where each episode is also
expressed as a list (e.g., see lines 24--30 of Listing~\ref{dialogmining1}).
The output is a dialog specification in this programming languages notation.
The form of the output is a list of lists where each list in the output list
represents an expression in this programming languages notation (see line 31 of
Listing~\ref{dialogmining1} and lines 41--42 of Listing~\ref{dialogmining2}).
The {\tt car} of each list within the output list is the numerator of the
dialog specification in programming languages notation and the {\tt cdr} of it
is the denominator.  The nesting of each list within the output list reflects
the nesting in the specification of the dialog in this programming languages
notation. For instance, line 36 of Listing~\ref{dialogmining1} represents
$\frac{C}{\textrm{PIN} \frac{SPE^{'}}{\textrm{account transaction}}
\textrm{amount}}$.  If the output list contains more than one list (e.g.,
dialog c in Table~\ref{examples} whose compressed specification is shown on
lines 41--42 of Listing~\ref{dialogmining2}), the union of those lists
specifies the dialog.  The miner was tested in {\it Dr. Racket} (v.5.1.1) with
the language set to {\it Essentials of Programming Languages} (3rd ed.).

Our heuristic is sound in that it always returns a specification in programming
languages notation which represents the input dialog.  (i.e., it never returns
a wrong answer).  However, it is incomplete in that it does not always return a
minimal specification, where a minimal specification is one with a minimal
number of union operators.  If it cannot mine a minimal specification, it
returns a union of the input set of episodes, each represented as a $C$
expression.  For instance, line 66 of Listing~\ref{dialogmining2} should
display only one expression (i.e., $\frac{SPE^{'}}{\textrm{x}\frac{C}{\textrm{y
z}}}$), but shows two instead (i.e., $\frac{C}{\textrm{x y z}} \cup
\frac{C}{\textrm{y z x}}$).  We are performing an evaluation of our heuristic
to measure its error rate (i.e., the fraction of dialog specifications in the
universe of possible unsolicited reporting, mixed-initiative\ dialogs $\mathcal{U}$ for
which it is unable to find a minimal specification in programming languages
notation).

We can generalize this problem to one of finding a minimum set of posets
capturing the requirements of a dialog from an enumerated specification of the
dialog.  Formally, we state the problem as:

{\scriptsize
\begin{dialogue}
\speak{Input} A set of posets $P$, all defined over the same set, where the
union of the linear extensions from each poset in $P$ is $L$.
\speak{Output} A minimum set of posets $R$ such that $|R| \leqslant |P|$ and
the union of the linear extensions from each poset of $R$ is $L$.
\end{dialogue}}

\noindent We are currently working on an NP-complete proof of this problem
using a reduction to Vertex Cover.  While the dialog mining part of this work
is no less important, we focus on staging by partial evaluation and stager
generation here because it is the aspect of this research most relevant to the
programming languages community.

\subsection{Stagers}
\label{stagers}

\begin{lstlisting}[float,frame=tblr,
stepnumber=0,caption={A stager for complete,
mixed-initiative\ dialogs (i.e., those
in the $\mathcal{PE^\star}$ class),
simplified for purposes of presentation.},label=PEstarstager]
(define stager_pe*
   (lambda (script)
      (if (not (null? script))
         (let* ((utterance (prompt-for-input))
               (static-input (marshal-utterance-into-a-set-of-parameter/value pairs))
               (specialized-script (mix script static-input)))
            (stager_pe* specialized-script)))))
\end{lstlisting}

Note that Tables~\ref{mix1} and \ref{mix2} only demonstrate how to stage
dialogs conforming to each dialog type. Here we address how to implement
stagers with partial evaluation for dialogs which cannot be specified with a
single dialog type (e.g., dialog b in Table~\ref{examples}) or a single
expression in programming languages notation (e.g., dialog c in
Table~\ref{examples}).

One method of implementing (the complete, mixed-initiative) dialog e in Table~\ref{examples}
is to enumerate all possible ways to complete the dialog (i.e., all thirteen
separate totally ordered sets, one for each episode in the specification) as
all possible control flows through the implementation.  This approach quickly
becomes unwieldy even for dialogs with only a few questions as we demonstrate
by capturing the number of episodes in an enumerated complete, mixed-initiative\ dialog
specification as a function of the questions posed therein.  Let $s(m)$ be the
set of all partitions of a set of size $m$ into non-empty subsets (where $m$ is
a positive integer), and $s(m, n)$ be the set of all partitions of a set of
size $m$ into exactly $n$ non-empty subsets (where $n$ is a positive integer
and $n \leqslant m$).  The {\it Bell number} of a set of size $m$ is $B(m) =
|s(m)|$.  The {\it Stirling number} of a set of size $m$ is $S(m, n) = |s(m,
n)|$. It follows that $B(m) = \sum_{n=1}^{m} S(m, n)$.  Since an enumerated
specification of a complete, mixed-initiative\ dialog contains episodes corresponding to all
possible permutations of all possible partitions of the set of questions in the
dialog, we define its size, $|\mathcal{D}_{cmi}|$, as total function,
$\mathbb{N} \rightarrow \mathbb{N}$, equal to $\sum_{p=1}^{q}p!\times S(q,~p)$,
which given $q$, the number of questions posed in a dialog, computes the total
number of episodes therein.  Therefore, the number of episodes in a complete,
mixed-initiative\ dialog specification explodes combinatorially as the number of questions
$q$ in the dialog increase.  Thus, we seek to obviate the need to extensionally
hardcode all possible episodes in the control flow, and thus improve the
control complexity of dialog implementation, by using partial evaluation to
intensionally support such flexibility.

Consider the stager given in Listing~\ref{PEstarstager}.  This stager, when
passed the script shown in Listing~\ref{script} does not need to anticipate
when the user is deviating from the only hardwired episode in the script (by
virtue of partial evaluation).  It does not check that the order of utterances
or number of the responses in an utterance conform to the dialog specification
because all orders and combinations are possible.

While complete, mixed-initiative\ dialogs can be staged efficiently in this model, such
dialogs represent only a small fraction of all possible dialogs (i.e., there is
only one such dialog, given a fixed number of questions).  Often there are
restrictions on the episodes of a dialog which render partial evaluation
overkill with respect to its requirements.  For example, indiscriminately
partially evaluating a script such as that shown in Listing~\ref{script} to
stage dialogs specified by only a $C$ or $SPE$ type, such as those in
Tables~\ref{mix1} and \ref{mix2}, respectively, realizes {\it excess} episodes
(i.e., episodes staged which are not in the specification).  On the other hand,
interpreting (i.e., {\tt apply}) a script such as that shown in
Listing~\ref{script} to stage a dialog conforming to the $PE^\star$ type incurs
{\it deficit} (i.e., some of the episodes in the specification are not staged).
Using a curried script to stage a dialog specified by $SPE$ yields excess and
deficit.  Thus, while partial evaluation subsumes all other language concepts
considered here, partial evaluation is an `all or nothing'
proposition~\cite{MIIMC}. It does not discriminate against any of the possible
partial assignments of input parameters to the function (i.e., script) being
partially evaluated (i.e., the script can be partially evaluated with respect
to any parameter orders and/or combinations).  `For a dialog script
parameterized [by] slot [parameters], partial evaluation can be used to support
all valid possibilities for mixing initiative, but it cannot restrict the scope
of mixing initiative in any way.  In particular this means that, unlike
interpretation [or currying], partial evaluation cannot enforce any individual
[episode]'~\cite{MIIMC}.

Thus, to be faithful to a specification, we require a controller to invoke
partial evaluation judiciously with respect to the different orders and
combinations of arguments which reflect the requirements (i.e., permissible
episodes) of a dialog. We call this controller a {\it stager} because it stages
the interaction required to complete a dialog. A stager must restrict the ways
in which partial evaluation is applied to a script in all dialogs except those
conforming to the $PE^\star$ type (i.e., complete, mixed-initiative\ dialogs).

Since staging complete, mixed-initiative\ dialogs in this model does not require
verification of the order and form of utterances, the
objective of the dialog miner is to identify as much of the input dialog
as possible which
can be specified through the $PE^\star$ type. In other words,
it needs to identify as much of the dialog as possible which can be
handled by partial evaluation. This process has been
referred to as {\it layering}~\cite{MIIMC}.  Moreover, the objective of
rewrite rules is not to
reduce a complex dialog to one expressed only through
primitives (i.e., types $I$ and $C$). On the contrary, rather we desire to
express as much of the dialog as possible through the $PE^\star$ type to
similarly improve
the implementation.  For instance, it is advantageous to express
the specification
\{$\prec$a b$\succ$, $\prec$b a$\succ$, $\prec$(a b)$\succ$\} as
$\frac{PE^\star}{\textrm{a b}}$ rather than
$\frac{C}{\textrm{a b}} \cup \frac{C}{\textrm{b a}} \cup \frac{I}{\textrm{a
b}}$.  Furthermore, to take advantage of all
possible opportunities to use partial evaluation, rewrite
rules can be applied not only to the original, pristine, script
for a dialog, but also to the (transformed and reduced) script
remaining after every utterance.  For instance
$[\![\mathtt{mix}]\!] [\frac{SPE^{'}}{\frac{PE}{\textrm{a b}} \frac{PE}{\textrm{c d}}},
\mathtt{d}=\dots] = \frac{SPE^{'}}{\frac{PE}{\textrm{c}} \frac{PE}{\textrm{a
b}}} \equiv \frac{SPE^{'}}{\frac{C}{\textrm{c}} \frac{PE}{\textrm{a b}}} \equiv
\frac{C}{\textrm{c} \frac{PE}{\textrm{a b}}}$, and $[\![\mathtt{mix}]\!] [\frac{C}{\textrm{c}
\frac{PE}{\textrm{a b}}}, \mathtt{c}=\dots] = \frac{C}{\frac{PE}{\textrm{a b}}}
\equiv \frac{PE}{\textrm{a b}}$.
This can be thought of as re-layering after every utterance.
Unlike Tables~\ref{transexample}
and~\ref{transexample2}, where the script to be partial evaluated is the first
argument to $[\![\mathtt{mix}]\!]$, here, for purposes of conserving
space, we use a specification of
the dialog in programming languages notation to represent the script to be
partially evaluated.

\subsection{Evaluation}

One method of quantifying control complexity (or, more specifically,
anticipation of permissible orders and forms of utterances)
is to count the number
of expressions in programming languages notation
a stager for a dialog must support.  In other words, the number of
expressions
required to capture the requirements of a dialog is an evaluation metric
for the complexity of its stager. A complete, mixed-initiative\ dialog can be captured by
one expression.
If we remove only one of the thirteen episodes from the
$\frac{PE^\star}{\textrm{size blend cream}}$ complete, mixed-initiative\ dialog, its
requirements can no longer be captured
by one expression. For instance, a dialog
where the $\prec$(size blend cream)$\succ$ episode is absent from the
$\frac{PE^\star}{\textrm{size blend cream}}$ specification
cannot be represented with less than five expressions (i.e.,
$\frac{SPE^{'}}{\textrm{size blend cream}} \cup
\frac{SPE}{\textrm{size blend cream}} \cup
\frac{C}{\frac{I}{\textrm{size~blend}} \textrm{cream}} \cup
\frac{C}{\frac{I}{\textrm{blend~cream}} \textrm{size}} \cup
\frac{C}{\frac{I}{\textrm{size~cream}} \textrm{blend}})$.
Therefore, in this model, a stager for the
prior is less complex in the control than one for the latter.
While $\frac{PE^\star}{\textrm{size blend cream}}$ represents one poset, note
that there is not a one-to-one correspondence between posets and
expressions in programming languages notation which capture the requirements of
a dialog. For instance, while the previous dialog
cannot be represented with a union of less than five expressions in programming
languages notation, it can be represented by one poset.

When the specification for the dialog being staged cannot be captured by a
single expression (e.g., specifications c and f in Table~\ref{examples}) we
currently require one stager per expression.
Then a decision, based on the user's
first utterance, is required, if possible, to determine which stager to invoke.
Staging dialogs in the $\Delta$ class which involve sub-dialogs requires
additional consideration.  A stager for these dialogs not only needs to control
how partial evaluation is invoked to support the individual dialog types, but
also needs to coordinate the order in which it jumps into and returns from
sub-dialogs.

\begin{lstlisting}[float,frame=tblr,
stepnumber=0,caption={Generalized stager algorithm simplified for purposes
of presentation.},label=stager]
(generate-pristine-sub-scripts-from-expressions)
(let* ((origin-script (file->list script-file-name))
       (origin-counter 1)
       (loop-key
          (call/cc
             (lambda (k)
                (list k origin-script origin-counter))))
       (loop (car loop-key))
       (script (cadr loop-key))
       (counter (caddr loop-key)))

  (prompt-for-input)

  (if (valid-input?)
      (if (complete-evaluation?)
          (eval (partially-eval-script-with-utterance))
          (let ((new-script (similix-script-and-substitute-term)))
             (k (k new-script counter+1))))
      ;; invalid input
      (k (k script counter))))
\end{lstlisting}

\subsection{Practical Considerations}

We made a few practical considerations in our dialog system implementation.
For instance, we capture first-class continuations through the {\tt call/cc}
facility in Scheme to restart a stager after each progressive partial
evaluation.  We generate a loop key, which contains a continuation, a script,
and an occurrence counter, with the initial pristine script.  A stager then
prompts for and accepts an utterance from the user, validates the responses in
the utterance and, if valid, marshals it into a set of parameter-value pairs,
and partially evaluates a script with that set of static parameter assignments.
Finally, the stager generates a new loop key with the specialized script and
uses the continuation to jump back to the beginning of the stager. The
generalized stager algorithm shown in Listing~\ref{stager} illustrates this
process.  We also incorporate a history-records object, which stores the loop
key of each stage, to support {\tt redo} and {\tt undo} operations.  The model
of computation supported by the functional programming paradigm enabled us to
support these finer touches in a simple and clean manner, in the spirit
of~\cite{FPLweb}.

\subsection{Stager Generation}

\begin{figure}
\centering
\begin{tabular}{c}
\includegraphics[scale=0.35]{arch.eps}\\
\end{tabular}
\caption{Stager system design illustrating the central role
played by partial evaluation.}
\label{arch}
\end{figure}

From the set of expressions output by the dialog miner, we automatically
generate a stager to realize the dialog (see transition from the center to the
right of Fig.~\ref{overview}).  Since Scheme is a homoiconic language, it is
suitable for generating a stager in Scheme.  Our stager generator consists of
233 lines of Scheme code.  Given a dialog specified in the programming
languages notation presented here, it automatically generates a stager, and the
necessary scripts, which uses partial evaluation to implement the dialog.  The
size of the stager it generates is dependent on the complexity of the dialog to
be staged. Each generated stager makes use of a library of helper functions
which constitute 196 lines of Scheme code.  The generated stagers must be
executed with the {\tt
scm}\footnote{\url{http://people.csail.mit.edu/jaffer/SCM}} Scheme interpreter
since the Similix partial evaluator~\cite{peBookSimilix,Similix} which the
stagers make use of requires {\tt scm}.  Fig.~\ref{arch} provides an overview
of the execution of the dialog system we generate (i.e., the rightmost side of
Fig.~\ref{overview}).  Our entire dialog modeling toolkit, including the dialog
miner and stager generator, is available at
\url{http://academic.udayton.edu/SaverioPerugini/dialog.zip}.

\subsection{Dialog Types}

\begin{table}
\centering
\caption{Type signatures of functions in the model demonstrating
that partial evaluation ($[\![\mathtt{mix}]\!]$)
subsumes the other operators. Assumes a ternary
function $f: (a \times b \times c) \rightarrow d$.}
{\scriptsize
\begin{tabular}{llllll}
\hline
\multicolumn{1}{c}{\bf Concept} & \multicolumn{1}{c}{\bf Function} & & \multicolumn{1}{c}{\bf Type signature} & & \multicolumn{1}{c}{$\mathbf{\lambda}${\bf -calculus}}\\
\hline
$I$ & {\tt apply} & : & $(((a \times b \times c) \rightarrow d) \times a \times b \times c) \rightarrow d$  & = &
$\lambda(f, x, y, z). f(x, y, z)$\\

$C$ & {\tt curry} & : &
$((a \times b \times c) \rightarrow d) \rightarrow (a \rightarrow (b \rightarrow (c \rightarrow d)))$
& = &
$\lambda(f). \lambda(x). \lambda(y). \lambda(z). f(x, y, z)$\\

$PFA$ & {\tt papply} & : &
$(((a \times b \times c) \rightarrow d) \times a) \rightarrow ((b \times c) \rightarrow d)$
& = &
$\lambda(f, x). \lambda (y, z). f(x, y, z)$\\

$PFA_n$ & {\tt papplyn} & : &
$(((a \times b \times c) \rightarrow d) \times a) \rightarrow ((b \times c) \rightarrow d)$
& = & $\lambda(f, x). \lambda(y, z). f(x, y, z)$\\

& & & $(((a \times b \times c) \rightarrow d) \times a \times b) \rightarrow (c \rightarrow d)$ & = & $\lambda(f, x, y). \lambda(z). f(x, y, z)$\\

& & & $(((a \times b \times c) \rightarrow d) \times a \times b \times c) \rightarrow (\{\} \rightarrow d)$ & = & $\lambda(f, x, y, z). \lambda(). f(x, y, z)$\\

$SPE$ & {\tt smix} & : &
$(((a \times b \times c) \rightarrow d) \times a) \rightarrow ((b \times c) \rightarrow d)$
& = & $\lambda(f,x). \lambda(y,z). f(x,y,z)$\\

& & & $(((a \times b \times c) \rightarrow d) \times b) \rightarrow ((a \times c) \rightarrow d)$ & = & $\lambda(f,y). \lambda(x,z). f(x,y,z)$\\

& & & $(((a \times b \times c) \rightarrow d) \times c) \rightarrow ((a \times b) \rightarrow d)$ & = & $\lambda(f,z). \lambda(x,y). f(x,y,z)$\\

$PE$ & {\tt mix} & : &
$(((a \times b \times c) \rightarrow d) \times a) \rightarrow ((b \times c) \rightarrow d)$
& = & $\lambda(f,x). \lambda(y,z). f(x,y,z)$\\

& & & $(((a \times b \times c) \rightarrow d) \times b) \rightarrow ((a \times c) \rightarrow d)$ & = & $\lambda(f,y). \lambda(x,z). f(x,y,z)$\\

& & & $(((a \times b \times c) \rightarrow d) \times c) \rightarrow ((a \times b) \rightarrow d)$ & = & $\lambda(f,z). \lambda(x,y). f(x,y,z)$\\

& & & $(((a \times b \times c) \rightarrow d) \times a \times b) \rightarrow (c \rightarrow d)$ & = & $\lambda(f,x,y). \lambda(z). f(x,y,z)$\\
& & & $(((a \times b \times c) \rightarrow d) \times b \times c) \rightarrow (a \rightarrow d)$ & = & $\lambda(f,y,z). \lambda(x). f(x,y,z)$\\
& & & $(((a \times b \times c) \rightarrow d) \times a \times c) \rightarrow (b \rightarrow d)$ & = & $\lambda(f,x,z). \lambda(y). f(x,y,z)$\\
& & & $(((a \times b \times c) \rightarrow d) \times a \times b \times c) \rightarrow (\{\} \rightarrow d)$ & = & $\lambda(f,x,y,z). \lambda(). f(x,y,z)$\\
\hline
\end{tabular}}
\label{signatures}
\end{table}

\begin{table}
\centering
\caption{Definitions of {\tt papply} (left),
{\tt papplyn} (center), and {\tt smix} (right) in Scheme.}
{\scriptsize
\renewcommand{\tabcolsep}{0cm}
\begin{tabular}{lll}
\hline

\begin{tabular}{l}
\begin{lstlisting}[stepnumber=0]
(define papply
  (lambda (fun arg)
    (lambda x
      (apply fun (cons arg x)))))
\end{lstlisting}
\end{tabular} &

\begin{tabular}{l}
\begin{lstlisting}[stepnumber=0]
(define papplyn
  (lambda (fun . args)
    (lambda x
      (apply fun (append args x)))))
\end{lstlisting}
\end{tabular} &

\begin{tabular}{l}
\begin{lstlisting}[stepnumber=0]
(define smix
   (lambda (fun static_arg)
      (mix fun static_arg)))
\end{lstlisting}
\end{tabular}\\

\hline
\end{tabular}}
\label{definitions}
\end{table}

\begin{table}
\centering
\caption{Specifications of dialogs in
programming languages notation (left)
and as enumerated specifications (right).}
\begin{tabular}{lll}

\hline

& &\\

$\frac{I}{\textrm{size blend cream}}$ & $\equiv$ &
{\scriptsize \{$\prec$\textrm{(size blend cream)}$\succ$\}}\\

& &\\

$\frac{C}{\textrm{size blend cream}}$ & $\equiv$ &
{\scriptsize \{$\prec$\textrm{size blend cream}$\succ$\}}\\

& &\\

$\frac{PFA}{\textrm{size blend cream}}$ & $\equiv$ &
{\scriptsize \{$\prec$\textrm{size (blend cream)}$\succ$\}}\\

& &\\

$\frac{PFA_n}{\textrm{size blend cream}}$ & $\equiv$ &
{\scriptsize \{$\prec$\textrm{(size blend cream)}$\succ$,
$\prec$\textrm{(size (blend cream)}$\succ$,}\\
& & \ {\scriptsize $\prec$\textrm{(size blend) cream}$\succ$\}}\\

& &\\

$\frac{PFA_n^\star}{\textrm{size blend cream}}$ & $\equiv$ &
{\scriptsize \{$\prec$\textrm{(size blend cream)}$\succ$,
$\prec$\textrm{size (blend cream)}$\succ$,}\\
& & \ {\scriptsize $\prec$\textrm{(size blend) cream}$\succ$,
$\prec$\textrm{size blend cream}$\succ$\}}\\

& &\\

$\frac{SPE}{\textrm{size blend cream}}$ & $\equiv$ &
{\scriptsize \{$\prec$\textrm{size (blend cream)}$\succ$,
$\prec$\textrm{blend (size cream)}$\succ$,}\\
& & \ {\scriptsize $\prec$\textrm{cream (size blend)}$\succ$\}}\\

& &\\

$\frac{SPE^{'}}{\textrm{size blend cream}}$ & $\equiv$ &
{\scriptsize \{$\prec$\textrm{size blend cream}$\succ$,
$\prec$\textrm{size cream blend}$\succ$,}\\
& & \ {\scriptsize $\prec$\textrm{blend size cream}$\succ$,
$\prec$\textrm{blend cream size}$\succ$,}\\
& & \ {\scriptsize $\prec$\textrm{cream blend size}$\succ$,
$\prec$\textrm{cream size blend}$\succ$\}}\\

& &\\

$\frac{PE}{\textrm{size blend cream}}$ & $\equiv$ &
{\scriptsize \{$\prec$\textrm{(size blend cream)}$\succ$,
$\prec$\textrm{size (blend cream)}$\succ$,}\\
& & \ {\scriptsize $\prec$\textrm{blend (size cream)}$\succ$,
$\prec$\textrm{cream (size blend)}$\succ$,}\\
& & \ {\scriptsize $\prec$\textrm{(size blend) cream}$\succ$,
$\prec$\textrm{(size cream) blend}$\succ$,}\\
& & \ {\scriptsize $\prec$\textrm{(blend cream) size}$\succ$\}}\\

& &\\

$\frac{PE^\star}{\textrm{size blend cream}}$ & $\equiv$ &
{\scriptsize \{$\prec$\textrm{(size blend cream)}$\succ$,
$\prec$\textrm{(size blend) cream}$\succ$,}\\
& & \ {\scriptsize $\prec$\textrm{cream (size blend)}$\succ$,
$\prec$\textrm{(blend cream) size}$\succ$,}\\
& & \ {\scriptsize $\prec$\textrm{size (blend cream)}$\succ$,
$\prec$\textrm{(size cream) blend}$\succ$,}\\
& & \ {\scriptsize $\prec$\textrm{blend (size cream)}$\succ$,
$\prec$\textrm{size blend cream}$\succ$,}\\
& & \ {\scriptsize $\prec$\textrm{size cream blend}$\succ$,
$\prec$\textrm{blend size cream}$\succ$,}\\
& & \ {\scriptsize $\prec$\textrm{blend cream size}$\succ$,
$\prec$\textrm{cream blend size}$\succ$,}\\
& & \ {\scriptsize $\prec$\textrm{cream size blend}$\succ$\}}\\

& &\\

\hline

\end{tabular}
\label{notation}
\end{table}

In this notation a dialog is specified by an expression of the form
$\frac{X}{Q}$, where $X$ represents a concept from programming languages and
$Q$ is a list representing the questions in the dialog (being specified).
The main idea in this notation is that the set of episodes specified
by an expression of this form
correspond to all possible ways that a function parameterized
by the questions in the denominator can be partially applied, and re-partially
applied, and so on, according to the concept in the numerator.   This notation
was introduced in~\cite{vt-staging} and re-visited in~\cite{WWW2004}.  Here, we
enrich it with additional language concepts and modify its semantics.

The concepts from programming languages in this model are interpretation ($I$),
currying ($C$), partial function application ($PFA$), partial function
application $n$ ($PFA_n$), single-argument partial evaluation ($SPE$), and
partial evaluation ($PE$).  These concepts correspond to higher-order functions
which each take a function and some subset of its parameters as arguments.
The type signatures for the functions of this model are given in
Table~\ref{signatures}.  We assume readers are familiar with
interpretation~\cite{EOPL}, currying~\cite{Haskell}, and partial
evaluation~\cite{introPartialEvaluation}.  Partial function application, {\tt
papply}, takes a function and its first argument and returns a function
accepting the remainder of the parameters.  The function {\tt papplyn}, on the
other hand, takes a function $f$ and all of the first $n$ of $m$ arguments to
$f$ where $n \leqslant m$, and returns a function accepting the remainder of
the $(m-n)$ parameters.  Notice that with
single-argument partial evaluation, the function may be partially evaluated
with only one argument at a time.  All of these functions except {\tt apply}
return a function.
Table~\ref{definitions} provides definitions of {\tt
papply}, {\tt papplyn}, and {\tt smix} in Scheme.

These functions are general in that they accept a function of any arity as
input.  The functions {\tt curry}, {\tt papply}, {\tt papplyn}, {\tt smix}, and
{\tt mix} are {\it closed} (i.e., they take a function as input and return a
function as output).  Here, we are interested in a progressive series of
applications of each of these functions which terminate at a fixpoint.
Therefore, we superscript a type $X$ with a
$\star$, where applicable,
to indicate a progressive series of applications of the corresponding
function ending in a fixpoint.  For instance, repeatedly applying {\tt papplyn}
to a ternary function (e.g., {\tt (apply (papplyn (papplyn f small) mild) no)}
realizes the episode $\prec$\textrm{size blend cream}$\succ$ in addition to
the
$\prec$\textrm{size (blend cream)}$\succ$,
$\prec$\textrm{(size blend) cream}$\succ$, and
$\prec$\textrm{(size blend cream)}$\succ$ episodes
which are realized with only a single
application of {\tt papplyn}.  Note that $C~=~C^\star$ (i.e., the function
returned from the partial application of a curried function is in curried form;
there is no need to re-curry it) and $I=I^*$ since {\tt apply} does not return
a function.  Therefore, we can superscript $PFA$, $PFA_n$, $SPE$, and $PE$
with a $\star$ symbol.

\begin{table}
\centering
\caption{Association of types of dialogs,
along permutations and partitions (of questions) axes, to concepts from
programming languages.}
{\scriptsize
\begin{tabular}{lll}
\hline
& {\bf Only a single response} & {\bf Multiple responses}\\
& {\bf per utterance} & {\bf per utterance}\\
\hline
{\bf Only one utterance} & \multicolumn{2}{c}{interpretation ($I$)}\\
\hline
{\bf Totally ordered} & currying ($C$) &
partial function application $n$ ($PFA_n^\star$)\\
\hline
{\bf Partially ordered} & single-arg. partial eval. ($SPE^{'}$) &
partial eval. ($PE^\star$)\\
\end{tabular}}
\label{fiveclasses}
\end{table}

The right side of Table~\ref{notation} shows enumerated specifications of
dialogs for ordering coffee.  Each dialog also can be specified using one of
the dialog types presented here.  The left side of Table~\ref{notation} shows
how those dialogs are specified using this programming languages notation.  We
associate a fixed dialog with {\it currying} ($C$) (second row of
Table~\ref{notation})
and a complete, mixed-initiative\ dialog with {\it partial evaluation} ($PE^\star$)
(bottommost row of Table~\ref{notation}).  The types (and combinations of them)
in Table~\ref{notation} help specify dialogs between the
fixed and complete, mixed-initiative\ ends of this unsolicited reporting spectrum.  Note
that the order of the terms in the denominator matters (i.e.,
$\frac{C}{\textrm{a b c}} \not\equiv \frac{C}{\textrm{b a c}}$).
Also, note that when the number of
questions posed in a dialog is less than three,
the $I$, $C$, and $PFA$ types specify the same episodes (e.g.,
$\frac{I}{\textrm{a b}} \equiv
\frac{C}{\textrm{a b}} \equiv
\frac{PFA}{\textrm{a b}} \equiv$ \{$\prec$a b$\succ$\}).
Table~\ref{fiveclasses} associates types of dialogs, along permutations and
partitions (of questions) axes, to some of the concepts from programming
languages in this model, and helps connect the dialogs in
Table~\ref{prac-space} with the concepts used to specify them.
The $SPE^{'}$ type is introduced below.

Note that there is always only one episode possible
in any dialog specified using only
one of the $I$, $C$, or $PFA$ types.  There are always $q$ episodes
in any dialog specified using only one of the $PFA_n$ and $SPE$ types,
where $q$ is the
number of questions posed in a dialog.  The number of episodes in any dialog
conforming to any of the
$PFA_n^\star$, $SPE^{'}$, $PE$,
and $PE^\star$ dialog types as a function of $q$ is
$2^{q-1}$, $q!$, $\sum_{p=1}^{q}\binom{q}{p}$, and
$\sum_{p=1}^{q}p!\times
S(q,~p)$, respectively.
The episodes in any dialog specified using only one of the $I$, $C$, $PFA$,
$PFA_n$,
$PFA_n^\star$,
$SPE$, $SPE^{'}$,
$PE$, or $PE^\star$ types are
related to each other in multiple ways.  For instance, by definition of the
$\star$ symbol here,
$X \subseteq X^\star$, where $X$ is any dialog type (e.g.,
$PFA$ or $PE$). Other relationships include

\begin{center}
$SPE \subset PE$,\\
$PFA_n~\cup~SPE \subset PE$,\\
$((PFA_n^\star-PFA_n)~\cup~(SPE^\star-SPE))~\cap~PE~=~\emptyset$,\\
$PFA \subset PFA_n$,\\
$I \cup C \cup PFA \cup PFA_n$
= $PFA_n^\star$, and\\
$PFA_n^\star \subset PE^\star$.\\
\end{center}

\noindent Lastly,
$I~\cup~C~\cup~PFA~\cup~PFA_n~\cup~PFA_n^\star~\cup~SPE~\cup~SPE^{'}~\cup~PE~\subset~PE^\star$
meaning that the $PE^\star$ type subsumes all others.  The implication of this,
as we see in the following section, is that any dialog conforming to one of
these types can be supported through partial evaluation.

\subsection{Sub-dialogs}

We denote the space of unsolicited reporting, mixed-initiative\ dialogs shown in
Fig.~\ref{posets} with the symbol $\mathcal{U}$.  Here $X$ denotes a particular
{\it type} of dialog (e.g., $C$ or $PE^\star$) which specifies a set of
episodes, while $\mathcal{X}$ denotes a {\it class} of dialogs (e.g.,
$\mathcal{C}$ or $\mathcal{PE^\star}$), where a class is defined as a set of
dialog specifications of type $X$ based on $q$, the number of questions posed
in a dialog.  The number of dialogs possible in this space is
$2^{|PE^\star|}-1$, and there are
$2^{|PE^\star|}-4q!-q-6$ dialogs\footnote{For $q \geqslant 3$,
$|\Delta| = |\mathcal{U}| - |\mathcal{I}| - |\mathcal{C}| -
|\mathcal{PFA}| -
|\mathcal{PFA}_n| - |\mathcal{PFA}_n^\star| - |\mathcal{SPE}| -
|\mathcal{PE}| -
|\mathcal{PE}^\star|$.
The cases where $q=1$ and $q=2$ are the only
cases where
$|\Delta| \ne |\mathcal{U}| - |\mathcal{I}| - |\mathcal{C}| -
|\mathcal{PFA}| -
|\mathcal{PFA}_n| - |\mathcal{PFA}_n^\star| - |\mathcal{SPE}| -
|\mathcal{PE}| -
|\mathcal{PE}^\star|$.
This is because when $q=1$, the one
specification in each of the individual classes is the same in each class.
Similarly, when $q=2$ some specifications are multi-classified.}
in the spectrum shown in
Fig.~\ref{posets} which cannot be specified with a single type (e.g.
dialogs b, c, and d in Fig.~\ref{posets} and Table~\ref{examples}).
We call the class containing these dialogs $\Delta$.
There are notable observations on the space $\mathcal{U}$:
\begin{inparaenum}[\itshape a\upshape)] \item its
classes are totally disjoint, \item the $\mathcal{I}$, $\mathcal{SPE}$,
$\mathcal{SPE}^{'}$,
$\mathcal{PE}$, and $\mathcal{PE^\star}$ classes always
contain only one specification independent of $q$, \item the $\mathcal{PFA}$
class always contains $q$ specifications because there exists one specification
per question, where the response to that question is supplied first and the
responses to all remaining questions arrive next in one utterance,
\item the $\mathcal{C}$,
$\mathcal{PFA}_{n}$, and
$\mathcal{PFA}_{n}^{\star}$ classes always contain $q!$ specifications as each
contains one specification per each episode in a $SPE^{'}$ dialog type
(in Table~\ref{notation} and introduced below), and
\item therefore, the number of dialogs specifiable with
only a single type is $4q! + q + 6$.
\end{inparaenum}
However, this programming languages notation for dialog specification is
expressive enough to specify the dialogs in the $\Delta$ class
because those dialogs can be expressed as a union of types (e.g., dialog
c in Table~\ref{examples}, or $\frac{I}{\textrm{x y z}} \cup
\frac{PFA}{\textrm{x y z}} \equiv$ \{$\prec$(x y z)$\succ$, $\prec$x (y
z)$\succ$\}) or expressed as dialogs involving
sub-dialogs through the use of
nesting~\cite{vt-staging} (e.g., dialogs b and d in Table~\ref{examples}),
or both (e.g., dialog f in Table~\ref{examples}).

\begin{table}
\centering
\caption{Specifications in programming languages notation of
the dialog specifications
depicted using Hasse diagrams in Fig.~\ref{posets} as well as
an additional dialog specification (see bottommost row).
Annotations (a)-(e) on the
leftmost column of the first five rows help associate
these specifications to those in Fig.~\ref{posets}.}
\begin{tabular}{ll}
\hline

& \\
(a) & \multicolumn{1}{c}{$\frac{C}{\textrm{credit-card grade receipt}}$}\\

& \\

(b) & \multicolumn{1}{c}{$\frac{C}{\textrm{PIN} \frac{SPE^{'}}{\textrm{transaction account}} \textrm{amount}}$}\\

& \\

(c) & \multicolumn{1}{c}{$\frac{C}{\textrm{receipt sandwich drink dine-in/take-out}} \cup
\frac{C}{\textrm{dine-in/take-out sandwich drink receipt}}$}\\

& \\

(d) &
\multicolumn{1}{c}{$\frac{SPE^{'}}{\frac{PE^\star}{\textrm{cream sugar}} \frac{PE^\star}{\textrm{eggs toast}}}$}\\

& \\

(e) & \multicolumn{1}{c}{$\frac{PE^\star}{\textrm{size blend cream}}$}\\

& \\

(f) & \multicolumn{1}{c}{$\frac{C}{\textrm{size} \frac{SPE}{\textrm{blend cream}}} \cup
\frac{C}{\textrm{blend} \frac{SPE}{\textrm{cream size}}} \cup
\frac{C}{\textrm{cream blend size}}$}\\

& \\

\hline

\end{tabular}
\label{examples}
\end{table}

In dialogs containing more than one
sub-dialog in the denominator, the $I$, $PFA_n$,
$PFA_n^\star$,
$PE$, and $PE^\star$ types are not candidates for the numerator
because these types imply multiple responses per utterance and it is not
possible to complete more than one sub-dialog in a single utterance.
The $PFA$ and $SPE$ types suffice for dialogs with
no more than two sub-dialogs
(e.g.,
$\frac{PFA}{\frac{PE^\star}{\textrm{a b}} \frac{PE^\star}{\textrm{c d}}}$ and
$\frac{SPE}{\frac{PE^\star}{\textrm{a b}} \frac{PE^\star}{\textrm{c d}}}$)
because when used as the numerator
in an expression whose denominator contains more than two terms
they also imply multiple responses per utterance.
Hence, $C$ is the only type which can always contain any number of
sub-dialogs in the denominator.
However, $C$ cannot be used in the numerator of a dialog specification
where there are two or more sub-dialogs in the denominator which can
be completed in any order.
Thus, we need a type which restricts utterances to
one response but also permits all possible completion orders.  We call this
type $SPE^{'}$, and $\frac{SPE^{'}}{\textrm{size blend cream}}
\equiv$

\begin{center}
{\scriptsize
\begin{tabular}{l}
\{$\prec$size blend cream$\succ$,
$\prec$size cream blend$\succ$,
$\prec$blend size cream$\succ$,\\
\ \,$\prec$blend cream size$\succ$,
$\prec$cream blend size$\succ$,
$\prec$cream size blend$\succ$\}.
\end{tabular}}
\end{center}

\noindent
Note that $\frac{C}{
\frac{PE^\star}{\textrm{a b}}
\frac{PE^\star}{\textrm{c d}}
\frac{PE^\star}{\textrm{e f}}} \not\equiv
\frac{SPE^{'}}{
\frac{PE^\star}{\textrm{a b}}
\frac{PE^\star}{\textrm{c d}}
\frac{PE^\star}{\textrm{e f}}}$, and
$SPE^{'} \subset PE^\star$.

\subsection{Rewrite Rules}

Types $I$ and $C$ are primitive in that any dialog in this space can be
specified using only $I$ and $C$.  In particular,
to specify any dialog in this notation we can simply translate
each episode in an enumerated specification as a $C$ expression and the entire
specification as a union of those $C$ expressions. For instance,
$\frac{C}{\textrm{x y z}} \cup \frac{C}{\textrm{y z x}} \cup \frac{C}{\textrm{z
x y}} \equiv$ \{$\prec$x y z$\succ$, $\prec$y z x$\succ$, $\prec$z x
y$\succ$\}.  Furthermore,
all dialogs specified using this notation can be reduced to a
dialog using only the $I$ and $C$ types. For example, $\frac{PFA}{\textrm{x y
z}} \equiv \frac{C}{\textrm{x} \frac{I}{\textrm{y z}}} \equiv$ \{$\prec$x (y
z)$\succ$\}.  Therefore, we can define rewrite rules akin in spirit to those
in~\cite{WWW2004}.

Specifying dialogs in this spectrum (shown in Fig.~\ref{posets}) with
a programming languages notation has multiple effects:
\begin{inparaenum}[\itshape a\upshape)]
\item it helps bring structure to the space between the two
ends of the spectrum,
\item it helps us losslessly compress the episodes
in an enumerated specification of a dialog
without enumerating all of the episodes (to capture the
possible orders and combinations of responses)
therein and, therefore, provides a shorthand
notation for dialog specification, akin to the Hasse diagram method, and
\item a dialog specified in this
notation provides a design for implementing the dialog, as we see below.
\end{inparaenum}

Use of concepts from programming languages, such as interpretation, currying,
and partial evaluation, to specify dialogs has been established
in~\cite{MIIMC,vt-staging,WWW2004}.  What we have presented here is a
modification of the notation from~\cite{WWW2004}.  Specifically, we have added
types to enrich the notation and re-defined types to more accurately reflect
the concepts to which they are associated.

\section{Introduction}
\input{dialogs}

\section{Specifying Dialogs in a Programming Languages Notation}
\label{notation_sec}
\input{notation}

\section{Staging Dialogs by Partial Evaluation}
\label{staging}
\input{mix}

\section{Implementing Dialogs with Partial Evaluation}
\label{implementation}
\input{implementation}

\section{Discussion}
\label{discussion}
\input{discussion}

\section*{Acknowledgements}

The research was supported in part by grants from the Ohio Board of Regents
and the University of Dayton College of Arts and Sciences.  We thank John
Cresencia and Shuangyang Yang at the University of Dayton for assisting in the
implementation of the dialog modeling toolkit, and for helpful discussions and
insight.

\bibliographystyle{plain}

redpajama_set_name: RedPajamaArXiv


Class NZ wagons are various types of wagons that were either purpose built or reclassified for use in non-revenue service. This is a Class GZ-9 wagon that entered service between 1965 and 1968 and was designed to transport livestock. A set of four of these wagons have been modified for use during the installation and maintenance of catenary cables by removing most of the woodwork sides and installing a pantograph on one and walkways and rollers on the roofs of all the wagons.
Number range 94 800 006 to 94 808 376 and 94 820 007 to 94 999 997, Length between couplers 13.076m, Length over headstocks 12.192m, Length between bogie pivot centres 8.230m, Height (before modification) 3.463m, Width 2.590m, Tare (average, before modification) 19,370kg, Load 29,000kg, Floor area 28.6m2.


text:
Lake Wobegon U.S.A.: Rhubarb
Performance - Spoken Word
Nonfiction: Garrison Keillor / A Prairie Home Companion / Humor
1.25 hour(s)
Garrison Keillor; performed by Garrison Keillor
Ah, rhubarb! It's a staple of Lake Wobegon, and the centerpiece for this monologue collection.
These News from Lake Wobegon monologues are grouped by theme. Rhubarb includes "Rhubarb," "Sweet Corn," "The Sun's Gonna Shine Someday," and "Yellow Ribbon."
GARRISON KEILLOR is America's favorite storyteller. For more than 35 years, as the host of A Prairie Home Companion, he has captivated millions of listeners with his weekly News from Lake Wobegon monologues. A Prairie Home Companion is heard on hundreds of public radio stations, as well as America One, the Armed Forces Networks, Sirius Satellite Radio, and via a live audio webcast.
Keillor is also the author of several books and a frequent contributor to national publications including Time, The New Yorker, and National Geographic, in addition to writing his own syndicated column. He has been awarded a National Humanities Medal from the National Endowment of the Humanities. When not touring, he resides in St. Paul, Minnesota.
Lake Wobegon U.S.A.: Fertility
Lake Wobegon U.S.A.
More News from Lake Wobegon
News from Lake Wobegon
Lake Wobegon U.S.A.: Patience
Lake Wobegon U.S.A.: Youth

redpajama_set_name: RedPajamaCommonCrawl


text:
International Communist Current
Workers of the world, unite!
What is the ICC?
Basic Positions
Manifesto (1975)
History of the ICC
20 years of the ICC
What is the communist left?
Who's behind the ICC?
ICC press
ICConline
International Review
2010s - 140 to 179
1990s - 60 to 99
1970s - 1 to 19
Internasyonalismo
Communist Internationalist
Dutch and German Communist Left
Communist Organisations and Class Consciousness
Nation or Class?
The Period of Transition
Decadence of Capitalism
Unions Against the Working Class
Left Wing of the Turkish Communist Party
Manifesto on the October revolution
Buy from ICC
Buy offline
Feeling of atomization
Tagore2
In my work, I have to help people as a last resort, after everyone has let them down and I am their last chance to regain their freedom.
But although they ask for help, although they need my help, they are often unable to receive it, and either intentionally or involuntarily sabotage all my efforts. They are not used to being helped and do not know how to get help. It is very discouraging.
For my part, as a liberal profession, nobody would help me in the event of a hard blow, except my family, but my family could not withstand a very violent blow, of course.
I really have a feeling of disconnection and atomization: I see that judicial and administrative institutions have taken the place of communities, and that there is no community, no human connection. Agains the state institutions, the individual is nothing, crushed, dismantled, quartered. He is even no longer able to receive human solidarity when it comes to him.
I see the Communist Party as the seed of renaissance of the global and universal human community. But I do not trust the current communist parties, which are primarily organs of propaganda and discussion, and whose individuals are basically very isolated from each other, and could hardly withstand serious state pressure.
I will feel much, much more reassuring in a "democratic-military" organization, that is to say a democratic organization, which takes care of each member as an individual and as a related community, but also as a centralized military organization, disciplined and able to resist repression and a major state offensive against it.
As I said in my previous thread, I am in favor of a complete centralization of the resources of the militants, and a centralized management of the party and militants' resources, thus confused. I am in favor of the formation of disciplined units that elect their leaders, who function militarily but without the barracks spirit characteristic of the bourgeois army (blind obedience and humiliation, for example).
I am in favor of the militants following a party resource plan (raising money), but also following a physical, intellectual and organizational training, that the party be regularly subjected to simulations of attack of the state to test how the party can defend itself and improve its organization. For example, for a month the party simulates its ban by the state, or simulates the arrest of 10 leaders to test its ability to resilience. The party must always test its security and improve it, this is an essential point.
d-man
If the state is going after
If the state is going after the party, it usually means the leaders will have to flee abroad (along with the funds) and try to continue the organisation from abroad. Since you mention atomization, that is what the remaining local party members will have to endure probably, because any "centralized command" or organized network by them will be eventually found. Even one of the greatest Bolshevik organiser, Yaakov Sverdlov, although he was careful, was eventually arrested. Read the story of his undergound years: https://libcom.org/library/yakov-sverdlov-klavdiya-sverdlova.
My feeling of atomization is
My feeling of atomization is very strong, although there is no very severe repression for me. I am thinking of rural and urban communities and of the suppression of the city and the countryside which Marx and Engels talk about in German Ideology, that is to say the fusion of cities and countryside. Even with very high agricultural productivity, it is not really possible at present, although cities can naturalize a bit through gardens and greenhouses.
But even if the community appeared on earth, and there are some communities, would I be well adapted, would I be well received? The communist parties are not themselves communities: the militants have their own individual jobs, their own individual homes, their own hobbies and their own families, their lives are not collectivised.
Can communists' life be collectivized in the party?
atomisation
The feeling of atomisation is real, and is even intrinsict to bourgeois society. As Engels wrote in The Condition of the Working Class in England in 1844:
"..however much one may be aware that this isolation of the individual, this narrow self-seeking is the fundamental principle of our society everywhere, it is nowhere so shamelessly barefaced, so self-conscious as just here in the crowding of the great city. The dissolution of mankind into monads of which each one has a separate principle and a separate purpose, the world of atoms, is here carried out to its utmost extreme"
We would argue that this process is even accelerating in the phase of capitalist decadence we call "social decomposition".
Communist militancy does offer a means of resistance to all this, moral, intellectual and organisational, and is the expression of a deep tendency towards real association.But we cannot build islands of communism within this society. And it is also important to recognise that today's revolutionary organisations are more like fractions than parties.
> And it is also important to
> And it is also important to recognise that today's revolutionary organisations are more like fractions than parties.
That's right. There is no community spirit. Although anarchists have different organizational ideas and principles than communists, I have no reason to feel foreign to an anarchist. It is the same between the Trotskyists and the communist left.
In fact, many separations result from a need for intrinsic separation that is not very clear. The disputes over the nature of the USSR do not really make sense when we need to publishing Marx books. Similarly, when we need to hosting a militant to allow him to carry out political work, it does not matter whether the host (who is coming) or the host (who is welcoming) is a communist or an anarchist. And it's not just about pooling efforts, but also about community.
The question is surely not to associate with anyone and to be opportunistic, the question is that we are not even associated with each other.
For me, the material basis of the spiritual and social community of communists is the community of goods and labor within the party, with centralized management. The community of goods and labor, if it can not be fully realized for many practical reasons, should be carried out at least partially, with some flexibility.
14 January, 2019 - 16:25
Atomization is real, but it
Atomization is real, but it doesn't affect everyone in the same way and there are groups who resist the atomization of bourgeois society by developing "expressive communities" based on group cohesion. A less nice way of saying that is some people join cults and there are various forms of political cults around today. In fact, one element in the current populist turn is the progressive destruction of older forms of working-class community, the erosion of so-called "social capital," based on the workplace, the local neighborhood and the union and their replacement with a splintered social space of competing groups solidarities based on race, ethnicity, religion, language community, partisanship or politcal/moral ideology.
Polemic with the Gulf Coast Communist Faction: Weaknesses in the Understanding of the Development of Capitalism
Review of Chris Knight's "Blood Relations: Menstruation and the Origins of Culture"
On recent attacks on the ICC on libcom
How can i support ICC
The Swedish section of ICC ?
Joint Statement: Escalation of Imperialist Tensions - Capitalism Means War!
Response to Internationalist Voice on strikes in Iran
Book review: A manual for survival. A Chernobyl guide to the future by Kate Brown
Avetis Mikaelian: An Inspiration Source for the Proletariat
50 years ago: The difficult evolution of the proletarian political milieu (Part 2)
Polemic with the International Communist Party (Proletarian): Worker Communism Belongs to the Left of Capital, Not Petty-bourgeo
Polemic with the International Communist Current: Working Class or the Masses?
Polemic with the Internationalist Communist Tendency: Ambiguities in Performing Internationalist Tasks
Massive demonstrations of high school students against the degradation of the climate: capitalism is a threat to humanity!
Revolt in Arabic Countries (Region) – Capitalism Is Nothing But Barbarism for Humanity
Sex recession
The fire at Notre-Dame de Paris: capitalism is incapable of preserving the heritage of humanity!
Weinstein, Trump...Feminism or Class Struggle?
Death of Stephen Hawking: a scientific mind in the service of humanity
Ecology No solution to the ecological catastrophe without the emancipation of labour from capitalist exploitation
Gulf Coast Communist Faction updated its busic postions
Internationalis...
13 July, 2019 - 16:28
From the "Weekly Worker":
6 July, 2019 - 19:33
We briefly touched on the
The Issue of Centrifugal Tendencies
Thanks for the translation
I don't know what's meant by
In the case of this writing,
Amir1
Apparently...
Iran has no choice but to be
I agree with the joint
I'm a refugee from the noxious atmosphere on libcom
Thanks for that. There's some
5 June, 2019 - 21:27
The Russian dominated Eastern
30 May, 2019 - 21:39
baboon wrote:
developed argument for non-binary sex
I agree with comunero
Teivos
The "Soviet Union" and the
The review refers to "Russian
I missed Alf's response, and
Comunero


text:
Benny Goodman (Composer)
Born: 30th May 1909, Chicago
Died: 13th June 1986, New York City
Benjamin David Goodman was an American jazz clarinetist and bandleader known as the "King of Swing".
In the mid-1930s, Goodman led one of the most popular musical groups in the United States. His concert at Carnegie Hall in New York City on January 16, 1938, is described by critic Bruce Eder as "the single most important jazz or popular music concert in history: jazz's 'coming out' party to the world of 'respectable' music."
Goodman's bands started the careers of many jazz musicians. During an era of racial segregation, he led one of the first integrated jazz groups. He performed nearly to the end of his life while exploring an interest in classical music.
Read more at https://en.wikipedia.org/wiki/Benny_Goodman
Browse: Goodman, B
Hi-Res Download
All Works: Goodman, B
A Smo-o-o-oth One (2)
A Smooth One (19)
Air Mail Special (12)
Benny's Bugle (7)
Boy Meets Goy (Grand Slam) (5)
Breakfast Feud (5)
Clarinetitis (2)
Dark Rapture (2)
Don't Be That Way (11)
Fiesta In Blue (4)
Flying Home (17)
Four Once More (1)
Gone with What Draft (3)
I Never Knew (2)
If Dreams Come True (5)
Life Goes to a Party (3)
Lullaby In Rhythm (6)
Rachel's Dream (7)
Scarecrow (1)
Seven Come Eleven (4)
Six Appeal (My Daddy Rocks Me) (2)
Soft Winds (18)
Stompin' At The Savoy (34)
Swingtime In The Rockies (3)
Till Tom Special (3)
Wholly Cats (12)
Recent Best Sellers: Goodman, B
New, On a Clear Day: The Oscar Peterson Trio Live in Zurich 1971
Download from $10.00
Bunny Berigan: I Can't Get Started
CD: $8.25
Benny Goodman - Jam Session (1936-1939)
Download from $8.00
A Time for Love: The Oscar Peterson Quartet - Live in Helsinki...
Barney Kessel & The Poll Winners
2 CDs: $11.50
Jutta Hipp:german Recordings
New Releases: Goodman, B
View all new releases
Sign up to Presto Music's Jazz mailing list to find out all the latest news, reviews and special offers.


No need to forgo style for practicality when choosing a set of wheels for your baby. The trusty folk from phil&teds have come up with a genius pram that's the full package!
The all new mod from phil&teds is cutting a stylish path through the parks and streets of Australia, but this gorgeous pram offers much more than just good looks.
Carefully designed to be "newborn-ready", the mod is aimed specifically at first time parents, ticking all the appropriate boxes in terms of design, flexibility, value and quality. It's a no-brainer, practical choice for a first pram.
The mod from phil&teds is also the perfect pram for littlies who want to sit up and see the world. As Briar from Sunday Collector discovered when she put the mod through its paces with her 12 month-old son, Rafferty.
It has a fully reclinable seat, ensuring that even the freshest of newborns is accommodated cosily and comfortably.
Airless Aeromaxx tyres and sophisticated suspension make for a smooth ride and ensure the mod is effortless to manoeuvre.
There's a generous parcel tray underneath, poised to make market day or park-side picnic packing a whole lot easier.
A light squeeze of the hand-operated brake will gently stop this pram in its tracks so you can stop and smell the roses with your kiddo.
The huge extendable sun hood is just made for our sometimes harsh climate and keeps your kiddo protected from the elements.
On those less-than-sunny days, the mod's cosy toes footmuff slides onto the pram and ensures your baby is snug as a bug (and toasty too!).
The mod's compact, super-slim profile and simple folding mechanism make it a perfect solution for tight spots – especially useful when you're squeezing into your favourite cafe or through the grocery store checkout.
The mod is suitable from newborn to four years and has an adjustable safety harness and an adjustable handle to cater equally to petite mums and dads.
The seat reclines with a seamless push of an easy-to-reach lever, confirming yet again that the mod is designed with functionality and comfort top of mind.
This gorgeous stroller is built to suit your child – and will grow with them too.
Configured as parent-facing, it allows for the security of face-to-face bonding. Flip the seat to face the world instead and foster independence, curiosity and confidence too. It's the perfect fashion-forward, four-wheeled companion for all kinds of parent-kid adventures.
Shady days, snug rides and cosy toes are just a click away!
You can pick up the mod now from Babies R Us for $699.99.


Genius comes into this world in many forms. So often we think of genius in terms of an IQ test, although this is genius in its narrowest measure. Watching Tiger Woods playing his "A-game", Hermann Maier or Bode Miller on Super G course, or Benjamin Reich on a slalom coarse. The way Martin Luther King Jr., Ghandi, or The Dalai Lama live their faith. And to watch a genius like Andy Irons in the water can make us all richer. The power of doing what you love, and sharing your joy is truly special.
A person doesn't have to be perfect at all times to be admired as a genius. A person's legacy should not be written about what they didn't do, but what they did and how they affected others. Andy won 3 World Surfing Titles (2002-04), 3 Quiksilver Pro France titles (2003-05), and 2 Rip Curl Pro Search Titles (200-6-07). He admittedly lost passion for competitive surfing at times, but continued to explore his passion for riding waves. Genius lay within most of us, but so few have the opportunity to let it shine, Andy did. Judging from the outpour of emotion and tributes throughout the world, he has affects tens of thousands of people. May we all be so fortunate.
Andy Irons died on November 2, 2010. He had reportedly been battling Dengue Fever. His wife was 7 months pregnant with their first child. Andy Irons was 32 years old.
Author Jonathan LawsonPosted on November 5, 2010 Categories Daily JournalTags andy irons, genius, heros, joy, snow, surf, surfing, tributeLeave a comment on Thank you A.I.


Crookston - Estella E. Flateland, a longtime Badger resident, passed away on November 8, 2018 at her home in Crookston, at the age of 85.
Estella was born on July 7, 1933 in Donna, Texas to Soledad Nieto. She grew up in Texas and joined the U.S. Air Force on October 3, 1952 and served until November 16, 1953. She and Arley Flateland were married on January 12, 1954.
She enjoyed sewing, upholstering furniture, crocheting, knitting and gardening.


Alright ladies and gentlemen, it's time for some brutal honesty. You take crappy pictures.
There, I said it. And I won't apologize. The pictures you are taking are driving us nuts.
We're your estimators and your adjusters. We know what you're trying to do. You want to make sure that you document everything. I understand, and it's not actually your fault. You've been conditioned to take unnecessary pictures.
Over the years you've taken the blame for NOT taking pictures of things that cost your company money. Heck, Farmers won't even pay for dump runs unless you supply us a picture of the full trash bags. I get it.
It doesn't make a lot of sense to us either.
But enough is enough. The time has come to reel in the crazy resto-razzi photo shoots and bring some sensibility to the camera madness. The first thing I want to bury wherever they put Hoffa is the pictures of your moisture meter.
When has anyone ever asked you to provide a picture of your moisture reading? Really. I'll pause to let you think about it… Never. The answer is never. I've not once, in my nearly twenty years of restoration, had an adjuster or TPA ask for a picture of a moisture meter. They don't care how pretty your Tramex is, and neither do I.
If the material is wet, tear it out. Don't waste time with pictures. If you want to dry the material, take your reading and mark it on your RDC along with your room sketch. That's it. Leave your camera out of it.
I'm not sure where this habit came from, but I can tell you where I see it most. I see it most from folks that are new to restoration or mitigation. In their sincere desire to be the best and work the hardest, they end up taking pictures of things that don't have much bearing in the end. If that is you, take this as your opportunity to stop wasting effort on things that don't matter.
Taking pictures of your moisture meter telegraphs to the adjuster that you might not be the most experienced cat in the sandbox. So stop it. Have I made my point?
Ok then, you may be asking, what should I be taking pictures of? I'm glad you asked. Before I answer, let me back up a scosh.
Everything you do, no matter whether you're a mitigation technician or a general manager, should be defined in a standard of operations. You should have a system for everything, including scoping losses and taking pictures.
Every loss scope has three main components: the photos (which we'll cover now), the sketch and the scope (which I'll cover in later articles). If done properly, and with enough attention to detail, a good estimator can create an Xactimate estimate using only two of the three main components. The reason we have all three is to create some redundancy in our overall scoping system.
I've even written full repair estimates using only the mitigation scope and pictures taken after demo. It's not ideal, but it can be done.
I've developed a system called the 24HR TECH, which provides a framework for water damage technicians to learn and then perform their jobs at the highest levels of efficiency and profit. There are five separate sections that call for taking pictures of specific items. I'll walk you through the Room Notes section now.
First, before you enter a room, you should have the Room Notes sheet in your hand. Some folks are trained to label each room with a piece of painter's tape. That works well. When I'm working a high-rise loss, I like to take a picture of the unit placard. Either way, take a picture of the room name.
The reason is simple: it marks your camera "roll". Even though we don't use film anymore (yes kids, we used to have cameras that didn't have phones attached), when your pictures are downloaded into the job folder, the room name pictures serves as a neat marker for which room the pictures were taken in. Everything after a room placard or label is part of that room, until we see the next room placard or label.
Second, you take several room overview shots. The panorama function on most cameras – I mean – phones, does a nice job here. Pick a corner and take your pictures from left to right. Be sure to stick to less than 180-degrees if you use a panorama, otherwise things get weird. Then walk to the opposite corner and take another set from left to right.
Third, take pictures of the floor then ceiling. Take as many pictures as necessary to capture the unique properties of the room. Did you catch all the fixtures? Is there base shoe molding? Could I count the number of outlets to double check my scope notes?
Fourth and finally, take pictures of items of interest and pre-existing conditions. If you want to take note of a swollen window casing? First step back and take a picture of the window as it sits in the room, then take a close up picture of the damage. Always keep in mind to frame your shots for the person who will view them; that person will likely NOT be you. You have to telegraph context with your pictures.
And guess how many pictures there should be of your moisture meter… Zero, that's how many. 11/28/16: after many rounds of social media debating, I must redact my last statement. Take pictures of your meter when drying the structure. Just make sure you take an "overall" picture, then a close up. That will help adjusters and PMs get an idea of what they're looking at.
NextWho Controls Your Xactimate Estimates?
Will you please "like" me?
Direct Assignment Transfer via XactAnalysis – Yep, you can do that.
Great article! It's my finger that gets in the way, not the moisture meter.
From someone who has been in the industry for 30+ years. I do not completely agree with you. I am definitely not new to the industry and I will include wet, dry standard and completion photos. Just not a million of them.
That's fair enough Mark. If it's part of your SOP and it serves a purpose, who am I to say different?
What I see more often, however, is pictures of wet readings with no follow up readings. Their taking pictures because they think they need to, not because it fits into their standard of care or normal procedures.
Can I ask you how many times you've been asked for your moisture readings pictures?
I too disagree with the suggestion that moisture meter photos serve no value. I've been doing this for 38 years and I HAVE been asked for evidence of the moisture meter readings. Furthermore, these photos have also been pivotal during my expert witness / deposition testimonies. I am aware of at least one preferred vendor program that stipulates the need for moisture meter photos. I have also seen how weak a position carried by contractors who do NOT have this photographic evidence.
Personally, I see the day when the best drying records will have comprehensive photos to prove the readings claimed by the documenter. In the absence of these photos… we all know what happens: technicians are inclined to make up fictitious numbers while sitting in the van. I think that's called fraud, and that's serious. THAT's why photos of meters are of immense value to the file. My drying documentation has a photo of EVERY meter reading collected… Yes, HUNDREDS of them. Result?… I welcome drying record and drying strategy disputes! That conversation rarely lasts longer than 5 minutes and we justify the expenses.
Of course, if you don't want to look at the pics… That's your prerogative.
I have to disagree. I take photo of dry standard and the affected material mc. And then on each 24 hour monitoring visit, I take photo of drying progress. This is especially helpful when justifying extended dry time on specialty dry outs (hardwood floors). If you can't justify extended dry time, sometimes you can't get paid for it. All of that being said, all pictures are worthless if they aren't taken properly and for the the right reasons.
Sorry it took me this long to respond. For some reason I did not see it till this morning when I was reading Ken Larsen's reply. Hello Ken, Mar Cornelius here. How have you been doing? Now back to your question for me Andrew. I use to get requests on a semi regular basses. I do not any more seeing how they are included in almost every project I work on. I have a good history in doing decent sized commercial claims. I feel it is easier to answer a question before it gets asked. The main thing is to make sure your photos tell a story, and every story has to have a beginning middle and an end. You also do not need to include 50 pages of photos on a 3 bedroom, living room, kitchen flood.
I couldn't agree more Mark. Tell a story with your pictures.
Ken Larson is spot-on. Its all about justification…if I have proper photos of MC's throughout drying, there is nothing to dispute.
I'll never disagree with documentation according to plan. The problems I am seeing is a file with LOTS of moisture meter pictures and little else. An estimator needs pre-photos, post-demo photos and pre-existing conditions. In order of importance, the moisture meter pic ranks fairly low in my opinion.
You sirs are true professionals with immense experience. I wish more techs and PMs out there had mentors like you.
Unfortunately I have to disagree. First of all, the number of pictures per room is subjective and based on multiple factors. I would definitely say there is a minimum, although it all depends on what you're confronted with, type of damage, carrier you're working with, is there a consultant being brought in and the list goes on and on. If I know a consultant is coming in then I would suggest documenting everything that may be a point of dispute.
On to the topic at hand. I'll simply give you an example to point out why it IS important to document moisture readings. Many adjusters (Of which I have been on both sides of the fence as a NGA and a contractor), especially during CAT situations are short on time and will "run" through a project with an IR camera to see if the walls are "wet". Many of them may not get on site for many days. This may mean that the wall (internally or even non-intrusively) is still well above the acceptable MC compared to the areas dry standard. If the adjuster and/or especially the consultant is doing a "drive by" with an IR camera you are more than likely going to have reached equilibrium and thus no reflectivity will be present on his/her IR camera. They will note that the area is dry. Even though you may put a meter on the wall and peg it out. Now it's your word against his. If you don't have visual documentation justifying the equipment you have running, you are asking for a battle that will ultimately lead to a reduction in your final billing. I could provide additional examples but I just wanted to put my 2 cents in for what it's worth. The carrier won't be taking your word for it, they'll be relying on the "expert" they sent in to make sure they got that 10,20,30% reduction in the invoice they are ALWAYS attempting to achieve. I've sit in rooms with hundreds of adjusters around the world (as an adjuster) and as a contractor on the flip side debating why I should not have to modify my invoice and I can tell you that the adjusters and consultants are looking for any opportunity they can find to knock that bill down (either justifiably or simply because they are driven by ego).
I would suggest you do take pictures that are clearly visible and provide accurate detail of your location, i.e. when and where the pictures were taken. Have a nice day.
Andrew you wrote an opinion piece no need to apologize, I agree with your point which o think was " random meter photos with little else is almost useless on an estimate" however i hope you now agree with Ken and Mark and I that well taken organized photos of readings( dry standard, wettest point in each room per material each day, and final day dry readings) are important.
Absolutely Mitch, Ken and Mark are on the money. You've got to have a reason for everything you do.
Andrew, although I agree with you and your premise that just shooting pictures of moisture meters is useless: nonetheless I have worked with a couple of TPA's that actually DO require it. CodeBlue comes to mind as one in particular.
Regardless, this practice should never replace an SOP that requires a proper diagram, scope and recorded daily readings. I too have prepared estimates with just this documentation.
I love this thread! I say you can never take too many pictures, only not enough. Then those that need to be included to help tell the 'story' of the loss can be included by the estimator. At a previous employer I remember looking through old files and seeing all the unaffected readings as being the same. Wow! Everyone in GA must keep their house at the same temperature!!!
The practice is described in the industry's blue pages of the Standard. I wouldn't fault anyone who would practice this level of documentation diligence.
I wouldn't fault them either Ken. I love that you guys are so hot on this subject.
We all benefit when we can teach to a standard, instead of making it up as we go every time.
Good information. I must admit I am guilty of taking pictures of my meter readings. Never again!
If it was a perfect world I would agree. But as a Independent Adjuster nowadays the trust factor is questioned and the photos helps save additional time spent on the claim. A extra email or phone call every other claim adds up.


text:
Q: Jquery ajax is not sending cookie on IE9 I'm using jquery ajax and I've read a lot about XDomainRequest on IE9 with CORS, but my case is the following:
I'm on the same origin, so I'm not sending a CORS request and still not sending the cookie with requests.
So the question is that does jquery uses XDomainRequest instead of xmlhttprequest when it detects that's the browser is IE9? Or there's another reason?

A: I doubt that you are still having this problem, but this answer is for other people coming to this question hoping to find an answer just like I did.
I had the same problem (with IE9 and IE10) and I found out that setting the jquery ajax request to use {cache: false} fixed the problem.
Dion

redpajama_set_name: RedPajamaStackExchange


We compared price of kayjen KYJEN:PP01046 Squeakin Balls 3-Pack across hundreds of online stores. We found kayjen KYJEN:PP01046 Squeakin Balls 3-Pack in 3 stores with lowest price $9.48 in UnbeatableSale.com. For detailed price comparison of kayjen KYJEN:PP01046 Squeakin Balls 3-Pack check table below.
Handy replacement pieces for our popular I-Qube puzzle toy. Saves money and extends the life of your poochs puzzle toy! Depth: 3. Height: 9.5. Width: 6.
Not good enough. :( I thought that kayjen KYJEN:PP01046 Squeakin Balls 3-Pack by kayjen is one of the best on the market, but I am very disappointed.


text:
Home Headlines PAIZO ANNOUNCES SYSTEM-NEUTRAL OPEN RPG LICENSE
PAIZO ANNOUNCES SYSTEM-NEUTRAL OPEN RPG LICENSE
Jan 13th, 2023 · 0 Comment
Industry-leading Independent Publishers Seek Return to Open Gaming
[REDMOND, WA, January 12, 2023]– In response to rumors that an upcoming revision of the Open Gaming License (OGL) by Wizards of the Coast would "de-authorize" this keystone of the modern tabletop roleplaying industry, Paizo has begun work on a new open, perpetual, and irrevocable Open RPG Creative License (ORC).
Since 2000, the OGL has improved the community, incubated creativity, and grown the business of not only the licensees but the licensor. A stated goal of a perpetual and irrevocable OGL was to ensure the establishment and longevity of gaming networks and to drive sales to both. Recent reinterpretation notwithstanding, it succeeded. Many companies including Wizards of the Coast have benefitted from that growth.
The Open RPG Creative License (ORC) will be built system agnostic for independent game publishers under the legal guidance of Azora Law, an intellectual property law firm that represents Paizo and several other game publishers. Multiple leading publishers have already signed on to the effort to create a new and truly open license that allows all games to provide their own unique open rules reference documents that open up their individual game systems to the world.
Complete details may be found on Paizo's blog.
About Paizo
Paizo Inc. is one of the world's leading hobby game publishers. Since 2002, millions of players have joined the goblin army by playing the Pathfinder® and Starfinder® Roleplaying Games in homes, at conventions, at their favorite local game stores, and digitally on virtual tabletops. Paizo.com is an online retail hobby destination for gamers that carries the latest products from top hobby game publishers. Players can also find the newest releases, as well as accessories like dice and maps, miniatures, T-shirts, goblin plush toys, to quickly replenish their adventuring supplies for the next dungeon run.
Tags:headline · Open RPG Creative License · Paizo
About Aaron T. Huss
Aaron T. Huss is the Editor-in-Chief for Roleplayers Chronicle and President of Mystical Throne Entertainment. He is a writer, editor, and publisher with licenses to publish Savage Worlds.
View all posts by Aaron T. Huss →
Shawn Tomkin's Galaxy-Spanning RPG — Ironsworn: Starforged — Available now via the Modiphius Store and in Retail Shops
01/26/2023 · 0 Comment
Review: Cubicle 7 Entertainment – Wrath & Glory
Explore the Politics of Dune in Modiphius' Upcoming Houses of the Landsraad Supplement


text:
Woman says boxing champ Taylor threatened to kill children
KEN MILLER
A boxer who a Little Rock woman says pointed a gun at her children and threatened to kill them has been released from jail after posting bond.
Taylor was released today from the Pulaski County jail. He's charged with aggravated assault, endangering the welfare of a minor and drug possession. His bond was $50,000.
Toya Smith says Taylor became enraged when he thought her 5-year-old son dropped the championship belt that the boxer had taken to the Martin Luther King Day parade. Smith says Taylor was handing the belt to the boy when he nearly fell and dropped it.
Little Rock police say Taylor was arrested without incident and a gun was recovered.
Taylor's attorneys did not return calls for comment. He already faces charges in a separate August shooting.