By John H. Reppy

Concurrent Programming ML (CML), incorporated as a part of the SML of latest Jersey (SML/NJ) distribution, combines the simplest positive factors of concurrent programming and practical programming. This useful, "how-to" publication specializes in using concurrency to enforce clearly concurrent functions. as well as an educational creation to programming in CML, the e-book offers 3 prolonged examples utilizing CML for functional platforms programming: a parallel software program construct procedure, an easy concurrent window supervisor, and an implementation of dispensed tuple areas. This booklet additionally illustrates complex SML programming options, and encompasses a bankruptcy at the implementation of concurrency utilizing positive factors supplied by means of the SML/NJ method. it is going to be of curiosity to programmers, scholars, researchers operating in desktop language improvement.

Show description

Read Online or Download Concurrent Programming in ML PDF

Similar software design & engineering books

Component-Based Software Quality: Methods and Techniques

Component-based software program improvement, CBSD, isn't any longer only one extra new paradigm in software program engineering, yet is successfully utilized in improvement and perform. to date, despite the fact that, lots of the efforts from the software program engineering neighborhood have targeting the practical elements of CBSD, leaving apart the therapy of the standard concerns and extra-functional houses of software program elements and component-based structures.

Distributed Services with OpenAFS for Enterprise and Education

This booklet exhibits intimately easy methods to construct enterprise-level safe, redundant, and hugely scalable prone from scratch on most sensible of the open resource Linux working approach, appropriate for small businesses in addition to substantial universities. The center structure offered is predicated on Kerberos, LDAP, AFS, and Samba. insurance exhibits the right way to combine net, message comparable, info base and different companies with this spine.

A Calculus of Ideas: A Mathematical Study of Human Thought

This monograph experiences a suggestion scan with a mathematical constitution meant to demonstrate the workings of a brain. It provides a mathematical conception of human inspiration in accordance with development conception with a graph-based method of considering. the tactic illustrated and produced through huge machine simulations is expounded to neural networks.

Soft Skills: The software developer's life manual

For many software program builders, coding is the joys half. The difficult bits are facing consumers, friends, and bosses, staying efficient, reaching monetary defense, retaining your self healthy, and discovering real love. This e-book is the following to aid. smooth abilities: The software program developer's lifestyles guide is a advisor to a well-rounded, pleasant existence as a know-how expert.

Extra info for Concurrent Programming in ML

Sample text

34 2 Concepts in Concurrent Programming in takes a tuple template (or pattern) as an argument, and removes a tuple that matches the template from the tuple space, binding the values in the tuple to the formal parameters in the template. If there is no tuple that matches the template, then the process suspends until the in can complete. rd is like in, but does not remove the tuple from the tuple space. eval is used to add an active tuple to the tuple space. This mechanism creates a new process that computes the active tuple value; when the process terminates, the tuple becomes passive, and may be read by other processes.

1 Sequential programming As is the case with most concurrent languages, CML consists of a sequential core language — Standard ML — extended with concurrency primitives. The individual processes in a CML program are programmed using the features of SML. 1 While we conceptually view CML as a programming language, it is actually implemented as a collection of modules on top of SML/NJ. The aspects of CML described in this chapter all belong to the core structure of this library, which is named CML.

The semantics of the wait operation are that the mutex lock is released, and then the process is blocked; when the condition is signaled, the next process in the condition’s waiting queue is unblocked and it reacquires the mutex lock and proceeds. A signal operation on a condition variable that has an empty waiting queue has no effect; in this sense condition variables are memoryless. The implementation of the producer/consumer buffer is much cleaner using mutex locks and condition variables than using semaphores.

Download PDF sample

Download Concurrent Programming in ML by John H. Reppy PDF
Rated 4.06 of 5 – based on 38 votes