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

SCM Repository

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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 843, Tue Jun 19 21:53:04 2001 UTC revision 844, Wed Jun 20 20:39:15 2001 UTC
# Line 1  Line 1 
1  \section{Porting old CML programs}  \section{Porting old CML programs}
2    
3    
4  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}  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}
5    
6    
7  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}  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}
8    
9    
10    \begin{center}    \begin{center}
11    \begin{tabular}    \begin{tabular}{ll}
 {ll}  
12  \textbf{Old name } & \textbf{New name   } \\  \textbf{Old name } & \textbf{New name   } \\
13  \texttt{accept}\marginref{accept}{id-accept}{idaccept}   & \texttt{recv}\marginref{recv}{val-CML.recv}{valCMLrecv}    \\  {\cf \small accept}\marginref{accept}{id-accept}{idaccept}       & {\cf \small recv}\marginref{recv}{val-CML.recv}{valCMLrecv}    \\
14  \texttt{receive}\marginref{receive}{id-receive}{idreceive}       & \texttt{recv\-Evt}\marginref{recvEvt}{val-CML.recvEvt}{valCMLrecvEvt}    \\  {\cf \small receive}\marginref{receive}{id-receive}{idreceive}   & {\cf \small recv\-Evt}\marginref{recvEvt}{val-CML.recvEvt}{valCMLrecvEvt}    \\
15  \texttt{transmit}\marginref{transmit}{id-transmit}{idtransmit}   & \texttt{send\-Evt}\marginref{sendEvt}{val-CML.sendEvt}{valCMLsendEvt}    \\  {\cf \small transmit}\marginref{transmit}{id-transmit}{idtransmit}       & {\cf \small send\-Evt}\marginref{sendEvt}{val-CML.sendEvt}{valCMLsendEvt}    \\
16  \texttt{timout}\marginref{timout}{id-timout}{idtimout}   & \texttt{time\-Out\-Evt}\marginref{timeOutEvt}{val-CML.timeOutEvt}{valCMLtimeOutEvt}    \\  {\cf \small timout}\marginref{timout}{id-timout}{idtimout}       & {\cf \small time\-Out\-Evt}\marginref{timeOutEvt}{val-CML.timeOutEvt}{valCMLtimeOutEvt}    \\
17  \texttt{wait\-Until}\marginref{waitUntil}{id-waitUntil}{idwaitUntil}     & \texttt{at\-Time\-Evt}\marginref{atTimeEvt}{val-CML.atTimeEvt}{valCMLatTimeEvt}    \\  {\cf \small wait\-Until}\marginref{waitUntil}{id-waitUntil}{idwaitUntil}         & {\cf \small at\-Time\-Evt}\marginref{atTimeEvt}{val-CML.atTimeEvt}{valCMLatTimeEvt}    \\
18  \texttt{thread\-Wait}\marginref{threadWait}{id-threadWait}{idthreadWait}         & \texttt{join\-Evt}\marginref{joinEvt}{val-CML.joinEvt}{valCMLjoinEvt}    \\  {\cf \small thread\-Wait}\marginref{threadWait}{id-threadWait}{idthreadWait}     & {\cf \small join\-Evt}\marginref{joinEvt}{val-CML.joinEvt}{valCMLjoinEvt}    \\
19  \texttt{same\-Thread}\marginref{sameThread}{id-sameThread}{idsameThread}         & \texttt{same\-Tid}\marginref{sameTid}{val-CML.sameTid}{valCMLsameTid} \\  {\cf \small same\-Thread}\marginref{sameThread}{id-sameThread}{idsameThread}     & {\cf \small same\-Tid}\marginref{sameTid}{val-CML.sameTid}{valCMLsameTid} \\
20    \end{tabular}    \end{tabular}
21    \end{center}    \end{center}
22  \subsection{Input/output}  \subsection{Input/output}
23    
24    
25  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}  The most significant changes to the CML interfaces have to do with input/output operations. In version~0.9.8, the structure {\cf \small CIO}\marginref{CIO}{id-CIO}{idCIO} provided an implementation of the SML/NJ {\cf \small 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}
26  \subsection{Polling}  \subsection{Polling}
27    
28    
 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.\-  
29    The only loss in function from version~0.9.8 is the elimination of the {\cf \small poll}\marginref{poll}{id-poll}{idpoll} operation, which provided a non-blocking form of {\cf \small 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.

Legend:
Removed from v.843  
changed lines
  Added in v.844

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