JoCaml has an additional kind of values : channels or port names. Channels have a sending side and a receiving side and can be seen as carrying messages from one side to the other. Channels come in two flavors: asynchronous and synchronous. Sending a message on an asynchronous channel always succeeds, but this tells little about whether the message is received or not at the other side of the channel. Synchronous channels behave like functions.