% ML syntax
\newcommand{\mlkw}[1]{\kw{#1}\xspace}

\newcommand{\letml}{\mlkw{let}}
\newcommand{\andml}{\mlkw{and}}
\newcommand{\letcci}{\mlkw{let}_{CCI}}
\newcommand{\inml}{\mlkw{in}}
\newcommand{\ifml}{\mlkw{if}}
\newcommand{\thenml}{\mlkw{then}}
\newcommand{\elseml}{\mlkw{else}}
\newcommand{\funml}{\mlkw{fun}}
\newcommand{\boolml}{\mlkw{bool}}
\newcommand{\natml}{\mlkw{nat}}
\newcommand{\listml}{\mlkw{list}}
\newcommand{\typeml}{\mlkw{type}}
\newcommand{\valml}{\mlkw{val}}
\newcommand{\matchml}{\mlkw{match}}
\newcommand{\withml}{\mlkw{with}}
\newcommand{\moduleml}{\mlkw{module}}
\newcommand{\sigml}{\mlkw{sig}}
\newcommand{\structml}{\mlkw{struct}}
\newcommand{\enml}{\mlkw{end}}
\newcommand{\returnml}{\mlkw{return}}
\newcommand{\asml}{\mlkw{as}}

\newcommand{\sdef}[1]{\ensuremath{\mlkw{#1}}}
\newcommand{\sref}[1]{\ensuremath{\mlkw{#1}}}

% concatenation
\def\app{\mathbin{+\!\!\!+}}
