18 citations found. Retrieving documents...
Hughes, J. and Peyton Jones, S. (eds). Haskell 98: a non-strict, purely functional language. Technical Report YALEU/DCS/RR1106, Department of Computer Science, Yale University, 1999.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Explaining Polymorphic Types - Jun, Michaelson, Trinder (2001)   (3 citations)  (Correct)

....type inference. This enables static type checking at compile time, minimising the need for run time type representations and checking. Hindley Milner type systems [11] have most commonly been incorporated into functional languages like Standard ML(SML) 12] Miranda[19] Hope[4] and Haskell[7]. There is considerable anecdotal evidence that polymorphic type checking greatly reduces semantic errors in programs. Certainly, polymorphic types are central to the succinctness of contemporary functional languages, enabling a considerable degree of type safe abstraction and hence component ....

Hughes, J. and Peyton Jones, S. (eds). Haskell 98: a non-strict, purely functional language. Technical Report YALEU/DCS/RR1106, Department of Computer Science, Yale University, 1999.


Semantic Lego - Espinosa (1995)   (6 citations)  (Correct)

....but join and bind do not. As an example, let s try to compose two environment monads S and T . Figure 2.3 shows join for the individual monads and for their composition. It is clear by inspection that the latter cannot be defined from the former, even using unit and map. Jones and Duponcheel [JD93] give a rigorous proof based on the propositions as types analogy, showing that the type of joinST is not provable in implicational logic from the types of the other operators. However, if we think of monads as generalized monoids, that is, as acting on sequences of 55 ; S(A) EnvS A ; T ....

....Why Barr used a different formulation of compatibility 57 is unclear 2 . Barr studied distributive laws at the same time as Beck (see Beck s paper) perhaps the two sets were derived independently. It remains to verify that the conditions are indeed equivalent. Jones and Duponcheel s paper [JD93] is entirely about distributive laws but misses the earlier references. This omission is unsurprising since the relevant section in [BW85] occurs late in the book and is titled distributive laws rather than monad composition . Using compatibility, we can develop monad composition as a relation ....

[Article contains additional citation context not shown here]

Mark P. Jones and Luc Duponcheel. Composing monads. Technical Report YALEU / DCS / RR-1004, Yale University, December 1993.


Concurrent and Distributed Functional Systems - Spiliopoulou (1999)   (Correct)

....used them to structure denotational semantics. This gave Wadler [132, 131] the insight that, using monads, functional programs 52 could be structured similarly, allowing impure features to be mimicked flexibly. Monads can also be combined, i.e. having a state monad with error handling, see also [61]. Ever since, monads became a second nature in the purely functional language Haskell. They offered the possibility to express in a purely functional language effects found in imperative ones such as global state, exception handling or output without spoiling the essence of algorithms [130, 131] ....

Mark P. Jones and Luc Duponcheel. Composing monads. Technical Report YALEU/DCS/RR-1004, Department of Computer Science, Yale University, December 1993. 262


Aspect-Oriented Programming versus Reflection - Malenfant, Cointe (1996)   (2 citations)  (Correct)

....semantics, comparable in this area to the what to do of AOP, and several monads introducing related but different aspects of a semantics such as threading of a state parameter, dealing with environments, etc. The composition of monads has been also studied, among others by Jones and Duponcheel [JD93], Steele [Ste94] and by Liand, Hudak and Jones [LHJ95] Several problems still subsist. Other theoretical approches like action semantics [Mos92] and extensible denotational semantics [CF94] pursue similar goals. Time permitting, we would also be interested in conducting research on the ....

Mark P. Jones and Luc Duponcheel. Composing Monads. Technical Report YALEU/DCS/RR1004, Yale University, December 1993.


Deriving Backtracking Monad Transformers - Hinze (2000)   (9 citations)  (Correct)

....parametric lists with False corresponding to [ and Cons corresponding to ( The additional constructor PromoteBind makes the di erence between a monad and a monad transformer. Note that the standard list monad transformer, LIST m a = m [a ] can only be applied to so called commutative monads [7]. By contrast, BACKTR works for arbitrary monads. 4.3 A context passing implementation In Sec. 3.3 we have seen that the context passing implementation essentially removes the interpretative layer from the naive term implementation. If we apply the same steps, we can derive very systematically ....

M. P. Jones and L. Duponcheel. Composing monads. Technical Report YALEU/DCS/RR-1004, Department of Computer Science, Yale University, December 1993.


Semantic Lego - Espinosa (1995)   (6 citations)  (Correct)

....modules while preserving abstraction by interacting only through exported interfaces. On the other hand, TCCs are not entirely local. For instance, the side effects TCC F(T)A = Sto(A) T(A Theta Sto(A) modifies T by both right and left composition in one step. As noted by Jones and Duponcheel [JD93], this construction yields a different monad than composition with two separate TCs. In general, module interfaces should be as flexible as possible, since they need not implement language ADTs directly. This organization leaves an outlet for parametrization in the style of metaobject protocols ....

....of types. After reading his paper, I had planned to define stratified monads, towers of unit and bind operators that could transformed and thus allow left composition. This approach resembles pseudomonads but is still not as simple or powerful as monad constructors. 4. 4 Jones and Duponcheel In [JD93], Mark Jones and Luc Duponcheel seriously address the problem of composing monads. They find that if one of several auxiliary maps is defined relating the structures of two monads, they can be composed, in an order depending which map is used. They find that some monads compose naturally to the ....

Mark P. Jones and Luc Duponcheel. Composing monads. Technical Report YALEU / DCS / RR-1004, Yale University, December 1993.


Building Interpreters by Transforming Stratified Monads - Espinosa (1994)   (5 citations)  (Correct)

....them, since our purpose is to build interpreters, not to reason about them. We leave for future work the investigation of principles for reasoning about modularly constructed languages. 3. 2 Monad transformers Although type constructors compose, monads do not (at least not without help see [JD93]) To see why (informally) we compose the type constructors of two different environment monads. Figure 9 shows the unique monad that this composition can support, but its bind operator cannot be formed by composition from the two environment monads. In fact, Jones and Duponcheel [JD93] prove ....

.... see [JD93] To see why (informally) we compose the type constructors of two different environment monads. Figure 9 shows the unique monad that this composition can support, but its bind operator cannot be formed by composition from the two environment monads. In fact, Jones and Duponcheel [JD93] prove rigorously that monads cannot in general compose. However, monads do transform. Figure 10 shows the environment monad transformer, which takes a monad T into a monad FT. Applying two (different) environment monad transformers to the identity monad indeed yields the double environment monad. ....

[Article contains additional citation context not shown here]

Mark P. Jones and Luc Duponcheel. Composing monads. Technical Report YALEU / DCS / RR-1004, Yale University, December 1993.


Towards Algebras of Encapsulated Effects - Richard Kieburtz (1997)   (1 citation)  (Correct)

....of the effects that have been discussed. It is well known that monads do not compose in general [Mog91a] Nevertheless, composite monads do exist under a variety of particular circumstances. In some cases, more than one composite can be formed of the same constituent monads. Jones and Duponcheel [JD94] have studied conditions under which composite monads exist. We have independently confirmed most of their results through the use of slightly different methods, but the topic of composite monad structures is too lengthy and technical to be included in this paper. In an axiomatic formulation, the ....

Mark Jones and Luc Duponcheel. Composing monads. Technical Report YALEU/DCS/RR-1004, Yale University, December 1994.


Semantic Lego - Espinosa (1995)   (6 citations)  (Correct)

....but join and bind do not. As an example, let s try to compose two environment monads S and T . Figure 2.3 shows join for the individual monads and for their composition. It is clear by inspection that the latter cannot be defined from the former, even using unit and map. Jones and Duponcheel [JD93] give a rigorous proof based on the propositions as types analogy, showing that the type of joinST is not provable in implicational logic from the types of the other operators. However, if we think of monads as generalized monoids, that is, as acting on sequences of S s and T s, we realize that ....

....Why Barr used a different formulation of compatibility is unclear 2 . Barr studied distributive laws at the same time as Beck (see Beck s paper) perhaps the two sets were derived independently. It remains to verify that the conditions are indeed equivalent. Jones and Duponcheel s paper [JD93] is entirely about distributive laws but misses the earlier references. This omission is unsurprising since the relevant section in [BW85] occurs late in the book and is titled distributive laws rather than monad composition . Using compatibility, we can develop monad composition as a relation ....

[Article contains additional citation context not shown here]

Mark P. Jones and Luc Duponcheel. Composing monads. Technical Report YALEU / DCS / RR-1004, Yale University, December 1993.


Monads as a theoretical foundation for AOP - De Meuter (1997)   (6 citations)  (Correct)

....x str The computations of the monad return values thereby transforming a stream into a possibly modified stream. In order to get something onto the stream that is passed around by the computations, we need a monad operation write: write : String m void write s = lstr . void,append str s) 3 The write operation takes a string. It returns a computation that takes an output stream and adds the string to it. Of course, code that has nothing to do with tracing, does not have to know about write. 4. Monads and Aspect Oriented Programming The resemblances between MP and AOP are really ....

M. Jones and L. Duponcheel. Composing Monads. Technical Report YALEU/DCS/RR-1004, Yale University, 1993.


Constructing Configurable Applications by Combining Monads - Angus (1997)   (Correct)

....monads in the style of section 2 and attempt to define a library of useful primitive monads which may be combined using certain recipes, looking at the class of monads containing trees, lists, bags and sets and considering how they may be combined with other monads. ffl Jones and Duponcheel [2] define three general constructions for the composition of monads, each of which depends on the existence of an auxiliary function linking the monad structures of the components. They establish a set of laws that the auxiliary function must satisfy to ensure the composition is itself a monad. They ....

Mark P. Jones and Luc Duponcheel. Composing monads. Technical Report YALEU/DCS/RR-1004, Department of Computer Science, Yale University, New Haven, Connecticut, December 1993.


Simplifying Subtyping Constraints - Pottier (1996)   (52 citations)  (Correct)

....bound. This is a special case of our substitution rule, provided that the variable s bound can be expressed in our more restricted type language. Aiken does not seem to handle variables with mixed variance; our substitution rule does (and such cases are easily encountered in practice) Jones [8] has established a general framework for inferring types together with sets of constraints, without specifying the semantics of constraints. Our system is a special case of his. Namely, his so called simplification rule is a special case of our subtyping rule (Jones requires that the constraint ....

Mark Jones. Simplifying and improving qualified types. Technical Report YALEU/DCS/RR-1040, Yale University, New Haven, Connecticut, USA, June 1994.


Encapsulated Effects - Kieburtz, Launchbury (1995)   (Correct)

.... type constructor: Sr fflM [R] A) R M (A) The state reader monad has a distribution combinator ffi Sr[R] M 0 (A) M 0 (R A) R M 0 (A) ffi Sr[R] M 0 (A) t:r: eval M 0 ( fM 0 (apply state r) tg 4 Essentially the same result has been gotten by Jones and Duponcheel [JD94]. where for the state reader, apply state : R Sr [R] A) A. The composite of a state reader with a state transformer monad has the type Sr [R]St[S] A) R S (A Theta S) which is isomorphic to the composite of the state transformer with the state reader. The order in which the state ....

Mark Jones and Luc Duponcheel. Composing monads. Technical Report YALEU/DCS/RR-1004, Yale University, December 1994.


Encapsulated Effects - Kieburtz, Launchbury (1995)   (Correct)

....represented as monads are seldom used in isolation. In this section we explore some conditions under which features used in conjunction can be characterized by a composite monad. The idea of composing new monads from old is obviously attractive and has stimulated the efforts of several researchers [Mog90, JD93, LHJ95]. Unfortunately, composition appears to be the wrong word to use to describe the construction of composite monads. There is no uniform way to construct composites but a few ways to form composite monads useful for programming are known. To understand precisely why monad composition does not work ....

Mark Jones and Luc Duponcheel. Composing monads. Technical Report YALEU/DCS/RR-1004, Yale University, December 1993.


Defining and Implementing Closed, Domain-Specific Languages - Kieburtz   (Correct)

No context found.

Mark Jones and Luc Duponcheel. Composing monads. Technical Report YALEU/DCS/RR-1004, Yale University, December 1993.


Defining and Implementing Closed, Domain-Specific Languages - Kieburtz (2000)   (Correct)

No context found.

Mark Jones and Luc Duponcheel. Composing monads. Technical Report YALEU/DCS/RR-1004, Yale University, December 1993.


Prological Features In A Functional Setting Axioms And.. - Hinze (1998)   (4 citations)  (Correct)

No context found.

Mark P. Jones and Luc Duponcheel. Composing monads. Technical Report YALEU/DCS/RR-1004, Dep. of Comp. Science, Yale University, December 1993.


Type Classes with Existential Types - Läufer (1995)   (6 citations)  (Correct)

No context found.

Jones, M. 1993a. Coherence for qualified types. Technical Report YALEU/DCS/RR-989, Department of Computer Science, Yale University.

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