Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] View of /sml/trunk/src/cml/doc/Hardcopy/porting.tex
ViewVC logotype

View of /sml/trunk/src/cml/doc/Hardcopy/porting.tex

Parent Directory Parent Directory | Revision Log Revision Log


Revision 651 - (download) (as text) (annotate)
Thu Jun 1 18:34:03 2000 UTC (21 years, 4 months ago) by monnier
File size: 2593 byte(s)
bring revisions from the vendor branch to the trunk
\section{Porting old CML programs}


There have been substantial changes from version~0.\-9.\-8 of CML.\- Most of these changes are cosmetic name changes meant to track changes in the SML interfaces, and to rationalize naming conventions.\- In this section, we detail the changes to the CML interfaces, and describe correspondence between the old and new interfaces.\- \subsection{Backwards compatibility modules}


To ease the transition from version~0.\-9.\-8 of CML to the new interfaces, we provide two backwards compatibility modules in the CML Library.\-\subsection{Name changes}


  \begin{center}
  \begin{tabular}
{ll}
\textbf{Old name } & \textbf{New name   } \\
\texttt{accept}\marginref{accept}{id-accept}{idaccept}	 & \texttt{recv}\marginref{recv}{val-CML.recv}{valCMLrecv}    \\
\texttt{receive}\marginref{receive}{id-receive}{idreceive}	 & \texttt{recv\-Evt}\marginref{recvEvt}{val-CML.recvEvt}{valCMLrecvEvt}    \\
\texttt{transmit}\marginref{transmit}{id-transmit}{idtransmit}	 & \texttt{send\-Evt}\marginref{sendEvt}{val-CML.sendEvt}{valCMLsendEvt}    \\
\texttt{timout}\marginref{timout}{id-timout}{idtimout}	 & \texttt{time\-Out\-Evt}\marginref{timeOutEvt}{val-CML.timeOutEvt}{valCMLtimeOutEvt}    \\
\texttt{wait\-Until}\marginref{waitUntil}{id-waitUntil}{idwaitUntil}	 & \texttt{at\-Time\-Evt}\marginref{atTimeEvt}{val-CML.atTimeEvt}{valCMLatTimeEvt}    \\
\texttt{thread\-Wait}\marginref{threadWait}{id-threadWait}{idthreadWait}	 & \texttt{join\-Evt}\marginref{joinEvt}{val-CML.joinEvt}{valCMLjoinEvt}    \\
\texttt{same\-Thread}\marginref{sameThread}{id-sameThread}{idsameThread}	 & \texttt{same\-Tid}\marginref{sameTid}{val-CML.sameTid}{valCMLsameTid} \\
  \end{tabular}
  \end{center}
\subsection{Input/output}


The most significant changes to the CML interfaces have to do with input/output operations.\- In version~0.\-9.\-8, the structure \texttt{CIO}\marginref{CIO}{id-CIO}{idCIO} provided an implementation of the SML/NJ \texttt{IO}\marginref{IO}{id-IO}{idIO} signature extended with event-valued operations.\- The old SML I/O interface has been replaced with a new interface, which is described in the SML Basis Library Manual, and CML has followed suite.\-\subsection{Condition variables}
\subsection{Polling}


The only loss in function from version~0.\-9.\-8 is the elimination of the \texttt{poll}\marginref{poll}{id-poll}{idpoll} operation, which provided a non-blocking form of \texttt{sync}\marginref{sync}{val-CML.sync}{valCMLsync}.\- Instead of this operation, CML now provides non-blocking input operations on many of the basic communication types.\-

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0