%%% Author: Carsten Schuermann
%%% Macros for typsetting functions
%%% Copyright Carsten Schuermann

\newenvironment{fenv}{\begin{array}[t]{@{}l@{\;}l@{}}}{\end{array}}
\newcommand{\fdata}[2]{\multicolumn{2}{l}{\mbox {\bf datatype}\;{#1}}\\
  \multicolumn{1}{r}{\hspace{2ex} =} &{#2} \\}
\newcommand{\fdataalt}[1]{\multicolumn{1}{r}{|}&{#1} \\}
\newcommand{\fof}[1]{\;\mbox {\bf of\ }{#1}}
\newcommand{\ffun}[2]{\mbox {\bf fun}&{#1} = {#2} \\}
\newcommand{\ffunnl}[2]{\mbox {\bf fun}&{#1} = \\
  & \hspace{2ex} {#2} \\}
\newcommand{\fand}[2]{\mbox {\bf and}&{#1} = {#2} \\}
\newcommand{\fandnl}[2]{\mbox {\bf and}&{#1} = \\
  & \hspace{2ex} {#2} \\}
\newcommand{\fnew}[1]{\mbox {\bf new}&{#1} \\}
\newcommand{\fval}[2]{\mbox {\bf val}&{#1} = {#2} \\}
\newcommand{\fvalnl}[2]{\mbox {\bf val}&{#1} = \\
  & \hspace{2ex} {#2} }
\newcommand{\falt}[2]{\multicolumn{1}{r}{|}&{#1} = {#2} \\}
\newcommand{\faltnl}[2]{\multicolumn{1}{r}{|}& {#1}  = \\ 
  & \hspace{2ex}  {#2} \\}
\newcommand{\faltnlB}[2]{\multicolumn{1}{r}{|}& {#1}\\ 
  & \hspace{2ex}  {#2} \\}
\newcommand{\fdots}{\multicolumn{1}{r}{\vdots}& \\}
\newcommand{\flet}[2]{
  \begin{array}[t]{@{}l@{}}
    \mbox {\bf let} \\
    \hspace{2ex} {#1} \\
    \mbox {\bf in}  \\
    \hspace{2ex} {#2} \\
    \mbox {\bf end}
  \end{array}}


