diff options
author | Karl Berry <karl@freefriends.org> | 2017-04-09 22:51:05 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-04-09 22:51:05 +0000 |
commit | fb68869e1920f0aabf41343b670279f0be3bb054 (patch) | |
tree | 175d01a8cfb871160d931f41c90fb24fb74d643a /Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx | |
parent | 4978fc50e9868db202f4b51324b37a4f2e201f1e (diff) |
l3
git-svn-id: svn://tug.org/texlive/trunk@43727 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx | 153 |
1 files changed, 1 insertions, 152 deletions
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx b/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx index 44d51219ddd..a96bc8c8f4e 100644 --- a/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx +++ b/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx @@ -22,8 +22,6 @@ % %<*driver> \documentclass[full]{l3doc} -\def\ExplFileDate{2017/03/18} -\def\ExplFileVersion{7019} \begin{document} \DocInput{\jobname.dtx} \end{document} @@ -33,8 +31,6 @@ % \title{^^A % The \textsf{l3candidates} package\\ Experimental additions to % \pkg{l3kernel}^^A -% \thanks{This file describes v\ExplFileVersion, -% last revised \ExplFileDate.}^^A % } % % \author{^^A @@ -46,7 +42,7 @@ % }^^A % } % -% \date{Released \ExplFileDate} +% \date{Released 2017/04/01} % % \maketitle % @@ -467,85 +463,6 @@ % space might be removed as well. % \end{function} % -% \section{Additions to \pkg{l3prg}} -% -% Minimal (lazy) evaluation can be obtained using the conditionals -% \cs{bool_lazy_all:nTF}, \cs{bool_lazy_and:nnTF}, \cs{bool_lazy_any:nTF}, or -% \cs{bool_lazy_or:nnTF}, which only evaluate their boolean expression -% arguments when they are needed to determine the resulting truth -% value. For example, when evaluating the boolean expression -% \begin{verbatim} -% \bool_lazy_and_p:nn -% { -% \bool_lazy_any_p:n -% { -% { \int_compare_p:n { 2 = 3 } } -% { \int_compare_p:n { 4 <= 4 } } -% { \int_compare_p:n { 1 = \error } } % is skipped -% } -% } -% { ! \int_compare_p:n { 2 = 4 } } -% \end{verbatim} -% the line marked with |is skipped| is not expanded because the result -% of \cs{bool_lazy_any_p:n} is known once the second boolean expression is -% found to be logically \texttt{true}. On the other hand, the last -% line is expanded because its logical value is needed to determine the -% result of \cs{bool_lazy_and_p:nn}. -% -% \begin{function}[EXP, pTF, added = 2015-11-15]{\bool_lazy_all:n} -% \begin{syntax} -% \cs{bool_lazy_all_p:n} \{ \Arg{boolexpr_1} \Arg{boolexpr_2} $\cdots$ \Arg{boolexpr_N} \} -% \cs{bool_lazy_all:nTF} \{ \Arg{boolexpr_1} \Arg{boolexpr_2} $\cdots$ \Arg{boolexpr_N} \} \Arg{true code} \Arg{false code} -% \end{syntax} -% Implements the \enquote{And} operation on the \meta{boolean -% expressions}, hence is \texttt{true} if all of them are -% \texttt{true} and \texttt{false} if any of them is \texttt{false}. -% Contrarily to the infix operator |&&|, only the \meta{boolean -% expressions} which are needed to determine the result of -% \cs{bool_lazy_all:nTF} will be evaluated. See also \cs{bool_lazy_and:nnTF} -% when there are only two \meta{boolean expressions}. -% \end{function} -% -% \begin{function}[EXP, pTF, added = 2015-11-15]{\bool_lazy_and:nn} -% \begin{syntax} -% \cs{bool_lazy_and_p:nn} \Arg{boolexpr_1} \Arg{boolexpr_2} -% \cs{bool_lazy_and:nnTF} \Arg{boolexpr_1} \Arg{boolexpr_2} \Arg{true code} \Arg{false code} -% \end{syntax} -% Implements the \enquote{And} operation between two boolean -% expressions, hence is \texttt{true} if both are \texttt{true}. -% Contrarily to the infix operator |&&|, the \meta{boolexpr_2} will -% only be evaluated if it is needed to determine the result of -% \cs{bool_lazy_and:nnTF}. See also \cs{bool_lazy_all:nTF} when there are more -% than two \meta{boolean expressions}. -% \end{function} -% -% \begin{function}[EXP, pTF, added = 2015-11-15]{\bool_lazy_any:n} -% \begin{syntax} -% \cs{bool_lazy_any_p:n} \{ \Arg{boolexpr_1} \Arg{boolexpr_2} $\cdots$ \Arg{boolexpr_N} \} -% \cs{bool_lazy_any:nTF} \{ \Arg{boolexpr_1} \Arg{boolexpr_2} $\cdots$ \Arg{boolexpr_N} \} \Arg{true code} \Arg{false code} -% \end{syntax} -% Implements the \enquote{Or} operation on the \meta{boolean -% expressions}, hence is \texttt{true} if any of them is -% \texttt{true} and \texttt{false} if all of them are \texttt{false}. -% Contrarily to the infix operator \verb"||", only the \meta{boolean -% expressions} which are needed to determine the result of -% \cs{bool_lazy_any:nTF} will be evaluated. See also \cs{bool_lazy_or:nnTF} -% when there are only two \meta{boolean expressions}. -% \end{function} -% -% \begin{function}[EXP, pTF, added = 2015-11-15]{\bool_lazy_or:nn} -% \begin{syntax} -% \cs{bool_lazy_or_p:nn} \Arg{boolexpr_1} \Arg{boolexpr_2} -% \cs{bool_lazy_or:nnTF} \Arg{boolexpr_1} \Arg{boolexpr_2} \Arg{true code} \Arg{false code} -% \end{syntax} -% Implements the \enquote{Or} operation between two boolean -% expressions, hence is \texttt{true} if either one is \texttt{true}. -% Contrarily to the infix operator \verb"||", the \meta{boolexpr_2} -% will only be evaluated if it is needed to determine the result of -% \cs{bool_lazy_or:nnTF}. See also \cs{bool_lazy_any:nTF} when there are more -% than two \meta{boolean expressions}. -% \end{function} -% % \section{Additions to \pkg{l3prop}} % % \begin{function}[EXP]{\prop_count:N, \prop_count:c} @@ -2423,74 +2340,6 @@ % \end{macro} % \end{macro} % -% \subsection{Additions to \pkg{l3prg}} -% -% \begin{macrocode} -%<@@=bool> -% \end{macrocode} -% -% \begin{macro}[pTF]{\bool_lazy_all:n} -% \begin{macro}[aux]{\@@_lazy_all:n} -% Go through the list of expressions, stopping whenever an expression -% is \texttt{false}. If the end is reached without finding any -% \texttt{false} expression, then the result is \texttt{true}. -% \begin{macrocode} -\prg_new_conditional:Npnn \bool_lazy_all:n #1 { p , T , F , TF } - { \@@_lazy_all:n #1 \q_recursion_tail \q_recursion_stop } -\cs_new:Npn \@@_lazy_all:n #1 - { - \quark_if_recursion_tail_stop_do:nn {#1} { \prg_return_true: } - \bool_if:nF {#1} - { \use_i_delimit_by_q_recursion_stop:nw { \prg_return_false: } } - \@@_lazy_all:n - } -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}[pTF]{\bool_lazy_and:nn} -% Only evaluate the second expression if the first is \texttt{true}. -% \begin{macrocode} -\prg_new_conditional:Npnn \bool_lazy_and:nn #1#2 { p , T , F , TF } - { - \bool_if:nTF {#1} - { \bool_if:nTF {#2} { \prg_return_true: } { \prg_return_false: } } - { \prg_return_false: } - } -% \end{macrocode} -% \end{macro} -% -% \begin{macro}[pTF]{\bool_lazy_any:n} -% \begin{macro}[aux]{\@@_lazy_any:n} -% Go through the list of expressions, stopping whenever an expression -% is \texttt{true}. If the end is reached without finding any -% \texttt{true} expression, then the result is \texttt{false}. -% \begin{macrocode} -\prg_new_conditional:Npnn \bool_lazy_any:n #1 { p , T , F , TF } - { \@@_lazy_any:n #1 \q_recursion_tail \q_recursion_stop } -\cs_new:Npn \@@_lazy_any:n #1 - { - \quark_if_recursion_tail_stop_do:nn {#1} { \prg_return_false: } - \bool_if:nT {#1} - { \use_i_delimit_by_q_recursion_stop:nw { \prg_return_true: } } - \@@_lazy_any:n - } -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}[pTF]{\bool_lazy_or:nn} -% Only evaluate the second expression if the first is \texttt{false}. -% \begin{macrocode} -\prg_new_conditional:Npnn \bool_lazy_or:nn #1#2 { p , T , F , TF } - { - \bool_if:nTF {#1} - { \prg_return_true: } - { \bool_if:nTF {#2} { \prg_return_true: } { \prg_return_false: } } - } -% \end{macrocode} -% \end{macro} -% % \subsection{Additions to \pkg{l3prop}} % % \begin{macrocode} |