| Reppy, J. H. Higher-order concurrency. Ph.D. dissertation, Department of Computer Science, Cornell University, Ithaca, NY, January 1992. Available as Technical Report TR 92-1285. |
....merge of the keypad controller. It is also possible to parametrize the controller over the buttons and corresponding reactive expressions used to implement them. 4 Operational semantics We describe the semantics of reactive expressions in terms of a simple functional language, in the spirit of [3, 27]. The syntax of the language is given by the following grammar: M = x j ( j M 1 M 2 j (M 1 ; M 2 ) j (M 1 ; M 2 ) j (fn x = M) j (rec f(x) M) where x and f are alphabetic identifiers. The semantic objects are given in Figure 4. As in [3] the set of expressions is a superset of both the ....
....saves the current continuation of the reactive expression in the tuple, and throws the continuationsaved by the step function, resuming the evaluation of the code calling step. The function suspend is similarly implemented. The technique used is analogous to the one used by Wand [29] and Reppy [27] to implement concurrent threads via continuations. 5 Comparison with other reactive frameworks The library described in this paper evolved from a desire to port the reactive framework of Reactive C [6] to the higher order language SML. It is instructive to compare our system against both the ....
J. H. Reppy. Higher-Order Concurrency. PhD thesis, Department of Computer Science, Cornell University, 1992. Available as Technical Report TR 92-1285.
....for information) in general, we do not describe the semantics of an eXene operation or type when it is the same as in Xlib. For information about SML see [Pau91] CML is described in detail, including a language tutorial, in [Rep90] and a formal description of its semantics can be found in [Rep91b, Rep92]. Furthermore, this is not an eXene tutorial; look at the example applications included in the distribution to see how eXene applications are constructed. eXene provides a user interaction model that is similar to the one advocated by [Pik89] and [Haa90] User actions, such as mouse motion, are ....
Reppy, J. H. Higher-order concurrency. Ph.D. dissertation, Department of Computer Science, Cornell University, Ithaca, NY, January 1992. Available as Technical Report TR 92-1285.
....channels, and rendezvous communication. This distributedmemory model fits well with the mostly applicative style of SML. CML is a higher order concurrent language. Just as SML supports functions as first class values, CML supports synchronous operations as first class values [Rep88, Rep91a, Rep92] These values, called events, provide the tools for building new synchronization abstractions. This is the most significant characteristic of CML. CML provides integrated I O support. Potentially blocking I O operations, such as reading from an input stream, are full fledged synchronous ....
....switch will occur at regular intervals, which allows off the shelf code to be incorporated in a concurrent thread without destroying interactive responsiveness. CML is efficient. Thread creation, thread switching and message passing are very efficient (benchmarks results are reported in [Rep92] Experience with CML has shown that it is a viable language for implementing usable interactive systems [GR91] CML is portable. It is written in SML and runs on essentially every system supported by SML NJ (currently four different architectures and many different operating systems) ....
[Article contains additional citation context not shown here]
Reppy, J. H. Higher-order concurrency. Ph.D. dissertation, Department of Computer Science, Cornell University, Ithaca, NY, January 1992. Available as Technical Report TR 92-1285.
....for an introduction to the SML programming language. Concurrent ML extends SML with support for dynamic thread creation and synchronous message passing. It is implemented as a library on top of the Standard ML of New Jersey system [AM91] a discussion of CML s implementation can be found in [Rep92]. The most significant use of CML is the multithreaded user interface toolkit eXene [GR93] and the applications built using eXene [Lin91, GM92, KSI94] CML has also been used as the basis for research into distributed programming language design [Kru93] 1.3 Overview In the next section, we ....
....are fairly standard: spawn f creates a new thread to evaluate the function f, and returns the ID of the newly created thread. channel ( creates a new channel. The in its return type denotes an imperative type variable, which is a technical restriction necessary to ensure type soundness [Tof90, Rep92]. accept ch accepts a message from the channel ch. This operation blocks the calling thread until there is another thread sending a message on ch. send (ch, msg) sends the message msg on the channel ch. This operation blocks the calling thread until there is another thread accepting a message ....
[Article contains additional citation context not shown here]
Reppy, J. H. Higher-order concurrency. Ph.D. dissertation, Department of Computer Science, Cornell University, Ithaca, NY, January 1992. Available as Technical Report TR 92-1285.
....threads and typed channels, and rendezvous communication. This distributed memory model fits well with the mostly applicative style of SML. ffl CML is a higher order concurrent language. Just as SML supports functions as firstclass values, CML supports synchronous operations as first class values [Rep88, Rep91a, Rep92]. These values, called events, provide the tools for building new synchronization abstractions. This is the most significant characteristic of CML. ffl CML provides integrated I O support. Potentially blocking I O operations, such as reading from an input stream, are full fledged synchronous ....
....switch will occur at regular intervals, which allows off the shelf code to be incorporated in a concurrent thread without destroying interactive responsiveness. ffl CML is efficient. Thread creation, thread switching and message passing are very efficient (benchmarks results are reported in [Rep92]) Experience with eXene has shown that CML is a viable language for implementing interactive systems. ffl CML is portable. It is written in SML and runs on essentially every system supported by SML NJ (currently seven different architectures and many different operating systems) ffl CML has a ....
[Article contains additional citation context not shown here]
J. H. Reppy. Higher-order concurrency. PhD dissertation, Cornell University, Department of Computer Science, January 1992. Available as Technical Report TR 92-1285.
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