40 citations found. Retrieving documents...
John H. Reppy. CML: A higher-order concurrent language. In SIGPLAN'91 Conference on Programming Language Design and Implementation, June 1991.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
The UDP Calculus: Rigorous Semantics for Real Networking - Serjantov, Sewell, Wansbrough (2001)   (5 citations)  (Correct)

.... calculi have dealt with failure, including [AP94,FGL 96,RH97,BH00] Building on process calculi, a number of concurrent or distributed programming languages have been designed, with associated semantic work, including among others Occam, Facile, CML, Pict, JoCaml, and Nomadic Pict [INM87,TLK96,Rep91,PT00,FGL 96,WS00] Little of this work, however, deals with the core network protocols, and as far as we are aware none addresses the level of abstraction of the sockets interface. Further, most does not support reasoning about executable code (or adopts a much higher level of abstraction) ....

John Reppy. CML: A higher-order concurrent language. In Programming Language Design and Implementation, pages 293-259. SIGPLAN, ACM, June 1991.


Functional Reactive Animation - Elliott, Hudak (1997)   (28 citations)  (Correct)

....on behaviors, which we adopted. Unlike our approach, however, reactivity was handled imperatively, through constraint assertion and retraction, performed by an application program. CML (Concurrent ML) formalized synchronous operations as first class, purely functional, values called events [18]. Our event combinators . and = correspond to CML s choose and wrap functions. There are substantial di#erences, however, between the meaning given to events in these two approaches. In CML, events are ultimately used to perform an action, such as reading input from or writing output to ....

John H. Reppy. CML: A higher-order concurrent language. Proceedings of the ACM SIGPLAN '91 Conference on Programming Language Design and Implementation, pages 293--305, 1991.


Location-Independent Communication for Mobile Agents.. - Sewell.. (1998)   (20 citations)  (Correct)

....In both cases, the full language available to the user remains very close to the process calculus presentation, and can be given rigorous semantics in a similar style. Analogous extensions could be given for other concurrent uniprocessor programming languages, such as Amber [Car86] Concurrent ML [Rep91], and Concurrent Haskell [JGF96] In the next section we introduce the two calculi informally, discussing our primitives in detail and giving examples of common programming idioms. In x3 and x4 we then present two sample infrastructure algorithms one using a centralised server and one using ....

John Reppy. CML: A higher-order concurrent language. In Programming Language Design and Implementation, pages 293-259. SIGPLAN, ACM, June 1991.


Pict: A Programming Language Based on the Pi-Calculus - Pierce, Turner (1997)   (180 citations)  (Correct)

....and implementation, and has little effect on the expressiveness of the language, since input only choice is easy to implement as a library module [PT95, NP96] This has some cost in syntactic convenience, and some benefit in flexibility. Our library actually implements a subset of Reppy s events [Rep91] allowing the branches of a choice to be manipulated as data. In fact, most Pict programs use simpler mechanisms 3 such as locks and semaphores (cf. Section 4.7) for basic synchronisation tasks. For controlling concurrent execution of methods in objects, we use a different library implementing ....

....as its basic communication mechanism, the encoding of high level features is strongly reminiscent of Pict. Our choice of high level language features leads to a programming style similar to that found in functional languages with channel based concurrency such as PFL [Hol83] Amber [Car86] CML [Rep91, BMT92] Facile [GMP89] Poly ML [Mat91] and Concurrent Haskell [JGF96] The most significant difference lies in the type system: the impredicative polymorphism of Pict permits the encoding of polymorphic functions using polymorphic communication. This pun is not possible in languages whose type ....

John Reppy. CML: A higher-order concurrent language. In Programming Language Design and Implementation, pages 293--259. SIGPLAN, ACM, June 1991.


An Action Semantics for ML Concurrency Primitives - Mosses, Musicante (1994)   (2 citations)  (Correct)

....modular. They are easily extended or modified. Reusing parts of specifications is straightforward. In this paper, we demonstrate these features, by extending the semantic description of a simple, ML like, sequential language, adding first order synchronous communication constructors taken from CML [Rep91a]. The next section gives a brief account of the action semantics formalism. Section 3 presents the action semantics of a simple sequential language. Section 4 considers processes and synchronous communication. Section 5 extends the action semantic description of the sequential language to deal ....

.... false and when there is given false then true ) The initial bindings here provide only the standard constructors for the Booleans, and the negation function. Other constructors and constants could be defined without additional complications. 4 First Class Synchronous Operations Reppy [Rep91a] presents CML, a concurrent extension of the Standard ML language. CML has a fork style primitive for spawning new processes. CML processes communicate values synchronously over typed channels. In [Rep91b] the operational semantics of the new primitives is given. In [BMT92] a subset of Reppy s ....

[Article contains additional citation context not shown here]

John H. Reppy. CML: A higher-order concurrent language. In Proc. SIGPLAN'91, Conf. on Prog. Lang. Design and Impl., pages 293--305. ACM, 1991.


Extensible Virtual Machines - Harris (2001)   (4 citations)  (Correct)

....The strand package receives up calls from the kernel when a policy decision is required. In many functional languages, continuations have been used to share processing time between different tasks Wand s system based on Scheme, and Reppy s for an ML derived language, are typical [Wand80, Reppy91] A continuation appears to the programmer as a function of one argument which, when evaluated, returns control to the point of its creation. Wand shows how a simple thread scheduler can be implemented using a set of continuations, each of which represents one of the threads that is currently ....

....can be used to implement a preemptive scheduling policy if a timer interrupt creates a continuation on behalf of the interrupted thread. Queues of continuations can be used to arbitrate the order of resumption for threads blocked on semaphores. Reppy uses similar implementation methods in cml [Reppy91] based on first class continuations in an extended version of sml nj [Duba91] Design overview 7.1 In order to support application supplied thread schedulers as part of an extensible virtual machine, the approach taken here combines aspects of scheduler activations, spin strand packages and ....

John H. Reppy. CML: A Higher-Order Concurrent Language. In Programming Language Design and Implementation (PLDI '91), volume 26(6) of ACM SIGPLAN Notices, pages 293--305, June 1991. (pp 137, 138)


Schematic: A Concurrent Object-Oriented Extension to Scheme - Taura, Yonezawa (1996)   (5 citations)  (Correct)

....entities, just as functions are first class in Scheme. This guarantees the flexibility of Schematic in the sense that whatever can be expressed in HACL or calculus has an obvious counterpart in Schematic. 3 This is true to other languages which support first class channels and processes [24, 25]. However, Schematic better integrates parallel extensions with the sequential part and more concisely expresses frequent parallel programming idioms than those languages. 4.1 Channels Channels are the fundamental entities which realize synchronization and communication between processes. ....

....(analogue of compare swap) No higherlevel mechanisms for defining safe mutable data are provided. Schematic supports and encourages the use of concurrent objects to represent mutable data, concurrent accesses to which are arbitrated by the runtime system. Concurrent ML. Concurrent ML (CML) [25] extends SML by first class channels and fork (spawn) whereas Schematic extends Scheme by first class channels, fork (future) and concurrent objects. To put concurrent objects aside, the main difference is that CML does not support any higher level concurrent primitives (parallel calls or even ....

John H. Reppy. CML: A higher-order concurrent language. In Proceedings of the ACM SIGPLAN'91 Conference on Programming Language Design and Implementation, pages 293--305, 1991.


A Compilation Manager for SML/NJ - User Manual - Blume (1997)   (Correct)

....becomes increasingly important that they themselves can be grouped together and that explicit export interfaces can be used to control namespaces. When there are many groups, then one may want to organize them into supergroups, and so on. Figure 1 shows the dependency graph for CML s sources. CML [Rep91] is implemented as a regular SML NJ program. Without the help from a compilation manager one would have to invoke a number of use commands one for each source file in order to load CML into SML NJ. Of course, the order in which the commands are issued is important here, because identifiers can ....

....representation of the dependency graph. CM s dependency graphs are directed and acyclic. The function CM.dot can be used to produce input for the DOT program [KN93] which is a tool for automatically drawing such graphs. Figure 2 shows a DOT drawing of the dependency graph for the CML library [Rep91]. val dot : string string unit val dot: string unit An invocation of this function writes a DOT specification into the file that was named by the second (or sole) argument. DOT specifications contain ordinary text. Layout parameters are located near the top of the file. Any text editor ....

John H. Reppy. CML: A higher-order concurrent language. In Proc. ACM SIGPLAN '91 Conf. on Prog. Lang. Design and Implementation, volume 26, pages 293--305. ACM Press, 1991.


Parallel Functional Reactive Programming - Peterson, Trifonov, Serjantov   (Correct)

....ways: FRP was originally developed by Conal Elliott for Fran, a language of interactive animations, but has also been used for robotics [PHE99] computer vision [RPHH99] and safety critical systems [SJ99] Concurrent functional languages have been implemented in various forms. Concurrent ML [Rep91] formalized synchronous operations as first class purely functional values called events. The functional language Eden [BKL98] built on top of Haskell, distinguishes between transformational and reactive systems, and introduces its (slightly more general) versions of splitEvents and . as ....

John H. Reppy. CML: A higher-order concurrent language. In Conference on Programming Language Design and Implementation, pages 293--305. SIGPLAN, June 1991.


Functional Reactive Programming from First Principles - Wan, Hudak (2000)   (6 citations)  (Correct)

....that requires an implementation of exact real arithmetic. Numerical analysis techniques are ultimately needed to ensure the stability of any system based on oating point numbers. CML (Concurrent ML) formalized synchronous operations as rst class, purely functional, values called events [15]. Our event combinators . and = correspond to CML s choose and wrap functions. There are substantial di erences, however, between the meaning given to events in these two approaches. In CML, events are ultimately used to perform an action, such as reading input from or writing output to ....

John H. Reppy. CML: A higher-order concurrent language. Proceedings of the ACM SIGPLAN '91 Conference on Programming Language Design and Implementation, pages 293-305, 1991.


Formalising and prototyping a concurrent object-oriented.. - Fredlund, al.   (Correct)

....and distribution aspects are not treated; concurrency is not an issue at all in [Jon93] Neither of [Jon93, Wal92] implement their translation function. In [Pap92] CCS is used to compare object oriented languages. Alternative implementation languages besides Facile are PICT [PT95] and CML [Rep91] however, we consider Facile to be closest to the calculus and moreover the only language that has built in support for distribution. 2 The Erken language The syntax of the Erken language is defined in Figure 1 (left) where E denotes an expression, Mth a method definition (with M as the name ....

John Reppy. CML: A higher-order concurrent language. In Programming Language Design and Implementation, pages 293--259. SIGPLAN, ACM, 1991.


An Overview of Functional Nets - Odersky (2000)   (1 citation)  (Correct)

....to emulate the FP approach in a more general setting. One strand of work has devised extensions of lambda calculus with state [FH92, SF93, SRI91, ORH93, AS98] or non determinism and concurrency [Bou89, dP95, Bou97] Another strand of work has been designed concurrent functional languages [GMP89, Rep91, AMST97] based on some other operational semantics. Landin s program has also been repeated in the concurrent programming field, for instance with Occam and CSP [Hoa85] Pict [PT97] and # calculus [MPW92] or Oz and its kernel [SHW95] Our approach is closest to the work on join calculus [FG96, ....

John H. Reppy. CML: A higher-order concurrent language. In Proc. ACM SIGPLAN Conf. on Programming Language Design and Implementation, pages 293--305, June 1991.


Declarative Event-Oriented Programming - Elliott (1998)   (Correct)

....in Fran, including when, and variants of stepper, and self snapshotting behaviors (Lustre s pre operator) The feel is different from Fran, due to the absence of continuous behaviors. CML (Concurrent ML) formalized synchronous operations as first class, purely functional, values called events [23]. Fran s event operators . and = correspond to CML s choose and wrap functions. Also like Fran, CML embeds its event vocabulary in an existing programming language. There are substantial differences, however, between the meaning given to events in these two approaches. In CML, events are ....

John H. Reppy, CML: A Higher-order Concurrent Language. Proceedings of the ACM SIGPLAN '91 Conference on Programming Language Design and Implementation, pages 293-305, 1991.


Tools for a Calculus of Broadcasting Systems - Petersson (1993)   (3 citations)  (Correct)

....constructing a behaviour and then relabel it. The following function, fun buffer a b = read a ( x.write b x ( NIL) can be used as buffer c d to express a(x) b(x) c=a; d=b] 15 3. 3 Other concurrent functional languages Recent approaches in the same style include Facile [GMP89] CML [Rep91, BMT92] and LCS [Ber89] They all follow the CCS communication model with handshake over named channels. CML, like PFL, is largely a library provided with Standard ML. Both need minor changes to ML to schedule processes, to do signal handling (CML) and to handle channels (PFL) LCS and Facile are based ....

John H. Reppy, CML: A Higher-Order Concurrent Language, ACM SIGPLAN'91 Conference on Programming Language Design and Implementation, SIGPLAN Notices, Vol. 26, No. 6, pp. 293--305,


A Typed Higher-Order Programming Language Based on the.. - Pierce, Rémy.. (1993)   (15 citations)  (Correct)

....they are used. We are also exploring strategies for partial type inference in the presence of higher order polymorphism. 5 Higher Order Programming We now consider the addition of higher order programming features to our language. A natural approach, which has often been followed in the past [Rep91, BMT92, Mat91, GMP89, Hol83, Car86, and many others], is to integrate concurrency primitives with the calculus (or, in some cases, ML) However, the functional sublanguage tends to dominate the character of languages designed in this way. This runs contrary to the aims of the present experiment, which are to investigate high level designs ....

John Reppy. CML: A higher-order concurrent language. In Programming Language Design and Implementation, pages 293--259. SIGPLAN, ACM, June 1991.


Hot-Sliding in ML - Andrew Appel Princeton (1994)   (6 citations)  (Correct)

....4: Scheduler keeps code live. The old Switch is not garbage collected, because a runnable task points to its closure. 2.1 Permanent modules The infrastructure of permanent modules cannot be replaced with new versions. Scheduler The Scheduler is the smallest possible abstraction of Concurrent ML[3] or ML Threads[2] It lacks synchronization and communications primitives, which are not needed for this simple example. The use of first class continuations to implement co routines is well known [4] signature SCHEDULER = sig val spawn : unit unit) unit val yield : unit unit val ....

John H. Reppy. CML: A higher-order concurrent language. In Proc. ACM SIGPLAN '91 Conf. on Prog. Lang. Design and Implementation, pages 293--305. ACM Press, 1991.


Programming With Functional Nets - Odersky (2000)   (1 citation)  (Correct)

....control. Thus, functional nets can be taken as the foundation of a new breed of wide spectrum 1 languages which allow flexible combinations of techniques from functional, imperative and object oriented programming together with concurrency. Unlike some existing approaches to such languages [25, 13, 27], functional nets are based on a single concept, not an amalgamation of features coming from different domains. Functional nets have a theoretical foundation in join calculus [10] A companion paper [21] explores the relation between the two in more detail. We will concentrate here on the ....

John H. Reppy. CML: A higher-order concurrent language. In Proc. ACM SIGPLAN Conf. on Programming Language Design and Implementation, pages 293--305, June 1991.


A Functional View of Join - Odersky, Zenger, Zenger, Chen (1999)   (2 citations)  (Correct)

....motivated by the desire to develop a simple foundation for languages that support functional, imperative, and concurrent programming. Current examples of such languages include JoCaml [Fes98] based on original join calculus, Pict [PT97] or Piccola [ALSN99] based on # calculus, as well as CML [Rep91] Facile [GMP89] or Erlang [AVW93] which are based on di#erent, generally more complex foundations. We are currently defining and implementing a kernel programming language which is based on our interpretation of join calculus. ....

John H. Reppy. CML: A higher-order concurrent language. In Proceedings of the ACM SIGPLAN '91 Conference on Programming Language Design and Implementation, pages 293--305, June 1991.


Virtual Topologies: A New Concurrency Abstraction for.. - Philbin, Jagannathan, ..   (Correct)

.... outperformed an unmapped round robin scheduling policy by over a factor of six: Processors 1 2 4 8 Static Tree (Depth 5) 143.5 108.3 46 15.3 Round Robin 140.4 118.24 100 96.5 9 Conclusions and Comparison to Related Work Concurrent dialects of high level languages such as Scheme [9, 11] ML [15, 17], or Concurrent Prolog [3, 21] typically encapsulate all scheduling, load balancing and thread management decisions as part of a runtime kernel implementation. Consequently, locality and communication properties of an algorithm must often be inferred by a runtime system, since they cannot be ....

John Reppy. CML: A Higher-Order Concurrent Language. In Proceedings of the SIGPLAN '91 Conference on Programming Language Design and Implementation, pages 293-- 306, June 1991.


Locality Abstractions for Parallel and Distributed Computing - Suresh Jagannathan Computer (1994)   (1 citation)  (Correct)

....machine intended to support long lived applications, persistent objects, and multiple address spaces. Thread packages provide none of this functionality since (by definition) they do not define a complete program environment. Concurrent dialects of high level languages such as Scheme [17, 23] ML [27, 29], or Concurrent Prolog [2, 32] typically encapsulate all scheduling, load balancing and thread management decisions as part of a runtime kernel implementation; programmers have little control in exploiting locality and communication properties manifest in their applications. Consequently, such ....

John Reppy. CML: A Higher-Order Concurrent Language. In Proceedings of the SIGPLAN'91 Conference on Programming Language Design and Implementation, pages 293--306, June 1991.


Type Reconstruction for Linear Pi-Calculus with I/O Subtyping - Igarashi, Kobayashi (2000)   (8 citations)  (Correct)

....a value along the channel x and then forwards it to the channel y. The process x [z] y [z] represents an in nite number of parallel copies of x [z] y [z] so that it repeatedly forwards values received along x to y. Earlier type systems [Gay93, VH93] for concurrent languages (including CML [Rep91]) were only concerned with the types of values transmitted along channels; so both f [x] x [1] and f [x] x [n] 0 are well typed under the type environment f : Int ] where [ denotes the type of channels used for transmitting values of type . The idea of the input only output only ....

....can fully recover type information from an unannotated program. So, a programmer needs to put type information only in those places where he or she wants a compiler to check channel usage. Therefore, the algorithm is applicable to ML style, implicitly typed concurrent languages such as CML [Rep91] and HACL [KY95] 3 In addition to the check of correct channel usage, type information recovered by our algorithm (especially, information about use once channels, which we call linear channels) is useful for the following optimization of concurrent programs. 1) Elimination of redundant ....

[Article contains additional citation context not shown here]

John H. Reppy. CML: A higher-order concurrent language. In Proceedings of the ACM SIGPLAN'91 Conference on Programming Language Design and Implementation, pages 293-305, 1991.


Proof Theoretic Approach To Specification Languages - Chirimar (1995)   (37 citations)  (Correct)

....and manipulate it, e:g : callcc in SML of New Jersey, and call with current continuation in scheme. Programming with continuations introduces a rich programming style. Fri88, DH89, Wan80] implemented coroutines and process schedulers using scheme style call with current continuation. [Rep91] implemented CML, a concurrent higher order functional language with concurrency primitives, using callcc in SML of New Jersey. Continuations are not a part of the core SML [HMT89] The reasons for not providing language support for manipulating continuations are not presented in [HMT89] However, ....

....process is invoked using throw, the evaluation thread terminates and the continuation process becomes the evaluation thread. I find this view of callcc to be very useful, especially in light of the fact that one of the most significant uses of callcc has been to implement CML in SML of New Jersey [Rep91]. Adopting the paradigm used in section 2.1 to specify the HO calculus in FORUM, I directly specify the above process style reading of callcc in FORUM. catch : tm tm jump : tm tm tm resume : vl vl o cont : vl (vl o) o Figure 3.19: Constants for translating vc terms (eval ....

[Article contains additional citation context not shown here]

John H. Reppy. CML: A higher-order concurrent language. In ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 293-- 305, June 1991.


Towards a Declarative Language for Parallel and.. - Breitinger.. (1995)   (6 citations)  (Correct)

....variables only. Among the parallel programming languages based on the functional paradigm, only approaches with explicit parallelism can be compared to EDEN. We will now sum up the central features of four different languages or language extensions of this type. The approach of Concurrent ML (CML)[Rep91] aims at a level of abstraction similar to that of EDEN. Whereas we have chosen a lazy computation language and a coordination through asynchronous message passing, CML is based on a strict language and synchronous communication. While both combinations form a natural match, we believe that ....

John H. Reppy. CML: A higher-order concurrent language. In ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 293 --305, 1991.


Analyzing Stores and References in a Parallel Symbolic Language - Jagannathan, Weeks (1994)   (12 citations)  (Correct)

.... there has been much success in applying optimizations derived via static analysis to expressive symbolic programming languages such as Scheme [7] Prolog [11] Self [4] or ML [1] There has also been much work in building concurrent analogues of such languages (e.g. MultiLisp [15] CML [28], ML Threads [25] Concurrent Smalltalk [16] Concurrent Prolog [29] etc. There has been relatively little effort, however, in applying semantic analysis techniques suitably modified to handle concurrency to explicitly parallel symbolic programming languages. The introduction of concurrency ....

John Reppy. CML: A Higher-Order Concurrent Language. In Proceedings of the SIGPLAN'91 Conference on Programming Language Design and Implementation, pages 293--306, June 1991.


Towards a Declarative Language for Parallel and Concurrent.. - Breitinger, al. (1995)   (6 citations)  (Correct)

....variables only. Among the parallel programming languages based on the functional paradigm, only approaches with explicit parallelism can be compared to Eden. We will now sum up the central features of four different languages or language extensions of this type. The approach of Concurrent ML (CML)[Rep91] aims at a level of abstraction similar to that of Eden. Whereas we have chosen a lazy computation language and a coordination through asynchronous message passing, CML is based on a strict language and synchronous communication. While both combinations form a natural match, we believe that ....

John H. Reppy. CML: A higher-order concurrent language. In ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 293 --305, 1991.


Linearity and the Pi-Calculus - Kobayashi, Pierce, Turner (1998)   (85 citations)  (Correct)

....idioms can be modeled by simple processes exchanging messages on channels. Besides their immediate applications in specification and verification of concurrent systems, these calculi have been used as the basis for concurrency features in numerous programming languages (e.g. Car86, GMP89, Rep91] as foundations for theoretical study of language features like concurrent objects (e.g. Jon93, Wal95, A revised and extended version of the paper presented at 23rd ACM SIGPAN SIGACT Symposium on Principles of Programming Languages (POPL96) pp. 358 371, 1996. HT91, Vas94, KY94, KY95] ....

John Reppy. CML: A higher-order concurrent language. In Programming Language Design and Implementation, pages 293--259. SIGPLAN, ACM, June 1991.


Composing Haggis - Finne, Jones (1995)   (18 citations)  (Correct)

....its windows via a file system interface. The resulting system has a simple, uniform application interface to the windowing capabilities, making its presence almost transparent to the programmer. Haggis is most closely related to eXene [5] a multi threaded framework written in Concurrent ML(CML) [19]. The use of concurrency to structure both the underlying implementation and application is common for both systems, but the current implementation of Haggis has a less fine grained use of threads. Assigning a thread to all separable tasks in a user interface has not only resource implications, ....

John H. Reppy. CML: A Higher-order Concurrent Language. Proceedings of the ACM SIGPLAN'91 Conference on Programming Language Design and Implementation, pages 293--305, 1991.


Optimization of Asynchronous Communication in Concurrent.. - Johansson (1998)   (Correct)

....and different subproblems makes it necessary for modern programming languages to have built in support for concurrency. This is the reason that new languages such as Erlang [3] and Java has these concepts from the beginning, and that older languages such as Prolog and ML are getting them [8, 16]. In Erlang concurrency is achieved by the use of processes. But the concept of processes introduces the need for message passing between processes, which will have its price. It also hides the control and data flow from the compiler obstructing several possible optimizations. But these problems ....

John Hamilton Reppy, CML: A higher-order concurrent language, Technical report, Cornell University, 1993.


A Customizable Substrate for Concurrent Languages - Jagannathan, Philbin (1992)   (13 citations)  (Correct)

....program and data structures for expressing concurrency. Parallel languages targeted for non numerical application domains typically support (in varying degrees of efficiency) concurrency structures that realize dynamic lightweight process creation[13, 15] high level synchronization primitives[28, 29], distributed data structures[6] and speculative concurrency[8, 25] In effect, all these parallel languages may be viewed as consisting of two sublanguages a coordination language responsible for managing and synchronizing the activities of a collection of processes, and a computation ....

....(called sting) includes a coordination language (implemented via a dedicated virtual machine) for expressing asynchronous lightweight concurrency that combines the best of both approaches. In contrast to other parallel Scheme systems[12, 13, 19] and parallel dialects of similar highlevel languages[10, 28], the basic concurrency objects in sting (threads and virtual processors) are streamlined data structures with no complex synchronization or value transmission semantics. Unlike parallel systems that rely on OS services for managing concurrency, sting implements all concurrency management issues ....

[Article contains additional citation context not shown here]

John Reppy. CML: A Higher-Order Concurrent Language. In Proceedings of the SIGPLAN'91 Conference on Programming Language Design and Implementation, pages 293--306, June 1991.


Automated Proof Support for Reasoning about Distributed.. - Karthikeyan, Vishwanath (1997)   (Correct)

....to be transmitted as first class data. The calculus thus supports a degree of mobility in computation by allowing dynamic changes to the communication topology. Closely related to the calculus is the development of sophisticated higher order programming languages such as Facile( AGP89] CML([Rep91]) and Pict( PT94] Although the calculus provides a powerful model for concurrent programming, several additional features such as the location of computation (processes) and allocated resources (data structures, communication channels, etc) and the notion of failure, have to be incorporated ....

John Reppy. CML: A higher-order concurrent language. Programming Language Design and Implementation, June 1991.


Optimization of Asynchronous Communication in Concurrent.. - Doctorate Thesis   (Correct)

....and different subproblems makes it necessary for modern programming languages to have built in support for concurrency. This is the reason that new languages such as Erlang [3] and Java has these concepts from the beginning, and that older languages such as Prolog and ML are getting them [8] [16]. In Erlang concurrency is achieved by the use of processes. But the concept of processes introduces the need Erik Johansson is a Ph. D. student at the Computing Science Department, Uppsala University. E mail: Erik.Johansson csd.uu.se for message passing between processes, which will have its ....

John Hamilton Reppy, CML: A higher-order concurrent language, Technical report, Cornell University, 1993.


Type and Behaviour Reconstruction for Higher-Order.. - Amtoft, Nielson, Nielson (1993)   (3 citations)  (Correct)

No context found.

John H. Reppy. CML: A higher-order concurrent language. In SIGPLAN'91 Conference on Programming Language Design and Implementation, June 1991.


Efficient Implementation of Concurrent Programming Languages - Stenman (2002)   (Correct)

No context found.

John H. Reppy. CML: A higher-order concurrent language. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 293--305. ACM Press, 1991. 75, 90, 95}


An Implicitly-Typed Deadlock-Free Process Calculus - Naoki Kobayashi Shin   (4 citations)  (Correct)

No context found.

John H. Reppy. CML: A higher-order concurrent language. In Proceedings of the ACM SIGPLAN'91 Conference on Programming Language Design and Implementation, pages 293--305, 1991.


A Type System for Lock-Free Processes - Kobayashi (2002)   (1 citation)  (Correct)

No context found.

John H. Reppy. CML: A higher-order concurrent language. In Proceedings of the ACM SIGPLAN'91 Conference on Programming Language Design and Implementation, pages 293-- 305, 1991.


Linearity and the Pi-Calculus - Naoki Kobayashi University (1996)   (85 citations)  (Correct)

No context found.

John Reppy. CML: A higher-order concurrent language. In Programming Language Design and Implementation, pages 293--259. SIGPLAN, ACM, June 1991.


Type Reconstruction for Linear Pi-Calculus with I/O Subtyping - Igarashi, Kobayashi (2001)   (8 citations)  (Correct)

No context found.

John H. Reppy. CML: A higher-order concurrent language. In Proceedings of the ACM SIGPLAN'91 Conference on Programming Language Design and Implementation, pages 293--305, 1991.


Extending a Functional Programming System for Embedded.. - Wallace, Runciman (1995)   (3 citations)  (Correct)

No context found.

John H. Reppy, `CML: a higher-order concurrent language', SIGPLAN, Conference on Programming Language Design and Implementation, June 1991, pp. 293--305.


Type and Behaviour Reconstruction for Higher-Order.. - Amtoft, Nielson, Nielson (1995)   (3 citations)  (Correct)

No context found.

John H. Reppy. CML: A higher-order concurrent language. In SIGPLAN'91 Conference on Programming Language Design and Implementation, June 1991.


Pict Language Definition - Pierce, Turner (1996)   (1 citation)  (Correct)

No context found.

John Reppy. CML: A higher-order concurrent language. In Programming Language Design and Implementation, pages 293--259. SIGPLAN, ACM, June 1991.

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC