\documentclass[]{article}
\usepackage{amsmath,graphicx,supertabular,hyperref,tabularx,ifthen}
\title{TIP \#440: Add engine to tcl\_platform Array}
\date{January 14, 2016}
\author{Joe Mistachkin, Jan Nijtmans}
\urlstyle{sf}
\setlength{\parskip}{1ex}
\setlength{\parindent}{0pt}
\def\tipversion$#1${\texttt{\$#1\$}}
\def\tiplangle#1{\ensuremath{<}}
\def\tiprangle#1{\ensuremath{>}}
\def\tipbar#1{\ensuremath{|}}
\def\tipmail#1#2{\(\langle\){\small\expandafter\url{#1@#2}}\(\rangle\)}
\ifx\pdfoutput\undefined
\newcommand{\tipimage}[2]{\typeout{Make sure you download #1.eps}\ifthenelse{\lengthtest{0.8\textwidth>#2}\and\lengthtest{0pt<#2}}{\includegraphics{#1.eps}}{\includegraphics[width=0.8\textwidth]{#1.eps}}}
\newcommand{\tipxref}[1]{}
\newcommand{\tipxrefend}{}
\else
\newcommand{\tipimage}[2]{\typeout{Make sure you create #1.pdf}\ifthenelse{\lengthtest{0.8\textwidth>#2}\and\lengthtest{0pt<#2}}{\includegraphics{#1.pdf}}{\includegraphics[width=0.8\textwidth]{#1.pdf}}}
\pdfcatalog{/PageMode /UseOutlines}
\newcommand{\tipxref}[1]{\pdfannotlink attr {/C [0.5 0.5 1.0] /Border [0 0 1]} goto name {#1}}
\newcommand{\tipxrefend}{\pdfendlink}
\fi
\newenvironment{tipabstract}{\begin{abstract}}{\end{abstract}}
\begin{document}\maketitle
\begin{center}\begin{tabularx}{\linewidth}{|r@{: }X|}\hline
\textbf{TIP \#440}&\textbf{Add engine to tcl\_platform Array}\\\hline
Author&

Joe Mistachkin \tipmail{joe}{mistachkin.com}
\par
Jan Nijtmans \tipmail{jan.nijtmans}{gmail.com}
\\
Created&Thursday, \(\text{14}^{\text{th}}\) January 2016\\
Type&Project\\
Tcl Version&\(8.5\)\\
State&Final\\
Vote&Done\\
Version&\tipversion$Revision: 1.13 $\\
Keywords&language implementation, platform\\
Post History&\\
\hline\end{tabularx}\end{center}
\thispagestyle{empty}\pagestyle{empty}
\begin{tipabstract}

This TIP proposes a mechanism for determining the implementation of the Tcl language currently in use.
\end{tipabstract}
\tableofcontents\setcounter{page}{0}\clearpage\pagestyle{plain}

\section{Rationale}

There is more than one implementation of the Tcl language (see [\url{http://wiki.tcl.tk/13992}]). These implementations differ greatly in their degree of compatibility and completeness. At the script level, there is currently no standard way to determine which implementation of the Tcl language is being used.

\section{Specification}

The \textbf{engine} element will be added to the \textbf{tcl\_platform} array. Its value will be set to \textbf{``Tcl''}.

\section{Reference Implementation}

A reference implementation of this TIP is available [\url{https://core.tcl.tk/tcl/timeline?r=tclPlatformEngine}].

The TH1, Jim, Picol, JTcl, and Eagle implementations of the Tcl language already implement this feature, each using the name of the project as the value of the \textbf{tcl\_platform(engine)} element.

\section{Copyright}

This document has been placed in the public domain.

\section{Colophon}

\textit{TIP AutoGenerator --- written by Donal K. Fellows}
\end{document}
