8,374 Hits in 2.3 sec

Monads, partial evaluations, and rewriting [article]

Tobias Fritz, Paolo Perrone
2020 arXiv   pre-print
We prove that whenever the monad is weakly cartesian, partial evaluations can be composed via the usual Kan filler property of simplicial sets, of which we give an interpretation in terms of substitution  ...  We study the properties of partial evaluations for general monads.  ...  This monad is also associated to an operad. Therefore, also here, partial evaluations can be uniquely composed, and form a category.  ... 
arXiv:1810.06037v3 fatcat:ddagagzsxvhrljy4esuqhuceta

Partially Ordered Monads for Monadic Topologies, Rough Sets and Kleene Algebras

P. Eklund, M.A. Galán, Werner Gähler
2009 Electronical Notes in Theoretical Computer Science  
In this paper we will show that partially ordered monads contain sufficient structure for modelling monadic topologies, rough sets and Kleene algebras.  ...  Further, we show how partially ordered monads can be used in order to obtain monad based examples of Kleene algebras building upon a wide range of set functors far beyond just strings [19] and relations  ...  Composing partially ordered monads will be as important as composing monads.  ... 
doi:10.1016/j.entcs.2008.12.067 fatcat:avazq3a3lvfetpv5u5e5ovz3vu

Monadic Tree Print

Konrad Grzanek
2014 Journal of Applied Computer Science Methods  
The library uses monads to print directly into an output stream or to generate immutable Strings. This paper gives a detailed overview of the solution.  ...  The monadic tree-print library was developed to help visualize a structure of Rete [5] , [6] graph in a Haskell implementation of this great knowledge storing and inferring algorithm.  ...  --compose [f1, f2, ..., fn] = f1 . f2 . ... . fn compose :: [a → a] → a → a compose = foldl (.) id {-# INLINE compose #-} --| Composes functions passed in a list in a reversed order.  ... 
doi:10.1515/jacsm-2015-0005 fatcat:u2wv74y7abaxvojmusdq7tdzam

Variations on the bagdomain theme

P.T. Johnstone
1994 Theoretical Computer Science  
The purpose of the present paper is to introduce some of these possibilities and to describe their basic properties, using the theory of fibrations and partial products developed in (Johnstone, 1993) .  ...  (p, e) ~ m): the operation of composing with P.  ...  If we wish to study monads whose functor parts are partial product functors, there are two important preliminaries: we need to know that a composite of two partial product functors (or at least of a partial  ... 
doi:10.1016/0304-3975(94)00120-8 fatcat:jk5y653l2zfqpg36ngtkc5e5x4

Monads and algebras in the semantics of partial data types

Philip S. Mulry
1992 Theoretical Computer Science  
The partial maps AL 6 and B s e have composite (gbof)b wherefb is the unique map guaranteed by the monad In order for this category to handle partial computation on products the monad (") must be strong  ...  It is straightforward to check that the above equations hold. 0 compose gbo(f,, fi). We can, however, compose gbo+R,C.~(f,, fi): A + 6.  ... 
doi:10.1016/0304-3975(92)90176-g fatcat:sbyavj7ilvbx3dr33wg7zdpnvu

A generic framework for specialization (abridged version) [chapter]

Peter Thiemann
1998 Lecture Notes in Computer Science  
It subsumes most previously published partial evaluators for higher-order functional programming languages in the sense that they axe instances of the generic framework with respect to a particular monad  ...  It performs sound specialization for MI monadic instances and is evaluation-order independent.  ...  There are offiine partial evaluators for first-order imperative languages [1, 5, 7, 11, 12] and for higher-order languages [2, 3, 8, 29] .  ... 
doi:10.1007/bfb0053576 fatcat:lcfspj4n65ap7nayqcau4b5bsm

Partial Evaluations and the Compositional Structure of the Bar Construction [article]

Carmen Constantin, Paolo Perrone, Tobias Fritz, Brandon Shapiro
2021 arXiv   pre-print
We find that this is not true for all monads: we describe a finitary monad on 𝖲𝖾𝗍 for which the partial evaluation relation on the terminal algebra is not transitive.  ...  In categorical algebra, such partial evaluations can be defined in terms of the 1-skeleton of the bar construction for algebras of a monad.  ...  For probability monads, the partial evaluation relation has long been studied in probability theory and economics, where it is known as second-order stochastic dominance [8, Section 6].  ... 
arXiv:2009.07302v3 fatcat:mvyxyrjitbeidh4cdyr3llyx4a

On Combining Probability and Nondeterminism

M.W. Mislove
2006 Electronical Notes in Theoretical Computer Science  
Beck [2] explored this question, and proved that monads compose if and only if there is a distributive law 5 of one over the other.  ...  For example, one construction shows how the partial order on an initial domain monoid can be refined so that a given embedding-surjection pair becomes an embeddingprojection pair.  ... 
doi:10.1016/j.entcs.2005.12.113 fatcat:c4itrys7jzftnjlc52uahqmkc4

Parametrized Exceptions [chapter]

Dennis Walter, Lutz Schröder, Till Mossakowski
2005 Lecture Notes in Computer Science  
We provide a treatment of this problem in the general framework of exception monads as introduced in earlier work by some of the authors; this framework includes generic partial and total Hoare calculi  ...  Following the paradigm of encapsulation of side effects via monads, the Java execution mechanism has been described by the socalled Java monad, encorporating essentially stateful computation and exceptions  ...  As indicated above, HasCasl incorporates a higher order logic of partial functions.  ... 
doi:10.1007/11548133_27 fatcat:332zmoptfzgtxn6xgp52wrejzq

Design Patterns for Functional Strategic Programming [article]

Ralf Laemmel, Joost Visser
2002 arXiv   pre-print
The nongeneric rewrite steps are made monadic by composing them with return. We have opted for the trivial Identity monad.  ...  To instantiate the monad parameter m of TP and TU with such a monad allows us to deal with partiality, recovery from failure, and backtracking.  ... 
arXiv:cs/0204015v1 fatcat:oqcsr5tczrchbfi5pyyfyq4ewe

Design patterns for functional strategic programming

Ralf Lämmel, Joost Visser
2002 Proceedings of the 2002 ACM SIGPLAN workshop on Rule-based programming - RULE '02  
The non-generic rewrite steps are made monadic by composing them with return. We have opted for the trivial Identity monad.  ...  Instantiation of the monad parameter m of TP and TU with such a monad allows us to deal with partiality, recovery from failure, backtracking, and non-determinism.  ... 
doi:10.1145/570186.570187 dblp:conf/rule/LammelV02 fatcat:ftycaj2tircyjiray3xvp4lnca

Metacomputation-Based Compiler Architecture [chapter]

William L. Harrison, Samuel N. Kamin
2000 Lecture Notes in Computer Science  
Because metacomputations are de ned i n t e r m s of monads, they can be c onstructed m o dularly and extensibly using monad transformers.  ...  This style uses two monads to factor the static and dynamic parts of the speci cation, thereby staging the speci cation and achieving strong binding-time separation.  ...  Given certain fairly weak conditions on the order of monad transformer application. See 13{15] for details.  ... 
doi:10.1007/10722010_14 fatcat:4e6edlixizbsphwfyss3mrg6uq

Optimizing ML using a hierarchy of monadic types [chapter]

Andrew Tolmach
1998 Lecture Notes in Computer Science  
We describe a type system and typed semantics that use a hierarchy of monads to describe and delimit a variety of e ects, including non-termination, exceptions, and state, in a call-by-value functional  ...  In addition, we describe a simple monad inferencing algorithm that computes the minimum e ect for each subexpression of a program, and provides more accurate e ects information than local syntactic methods  ...  Since the Ident and Compose laws must hold in a partial order, it su ces to de ne up m!  ... 
doi:10.1007/bfb0055514 fatcat:cofnenrikzd2nmm7tjrshikwda

Composing monads using coproducts

Christoph Lüth, Neil Ghani
2002 Proceedings of the seventh ACM SIGPLAN international conference on Functional programming - ICFP '02  
In a nutshell, we propose that two monads should be composed by taking their coproduct.  ...  However, in general, monads proved difficult to compose and so research focused on special mechanisms for their composition such as distributive monads and monad transformers.  ...  Secondly, when reasoning about the semantics of functional languages, we usually pass from sets to order structures such as complete partial orders (cpos).  ... 
doi:10.1145/581478.581492 dblp:conf/icfp/LuthG02 fatcat:ovdqd26jtvde7ny76r4zu34x7e

Composing Bidirectional Programs Monadically [chapter]

Li-yao Xia, Dominic Orchard, Meng Wang
2019 Lecture Notes in Computer Science  
Instead, we introduce a framework for composing bidirectional programs monadically, enabling bidirectional programming with familiar abstractions in functional languages such as Haskell.  ...  We show how to leverage compositionality and equational reasoning for the verification of round-tripping properties for such monadic bidirectional programs.  ...  composes the writer monad with the Maybe monad using WriterT (the writer monad transformer, equivalent to composing two monads with a distributive law).  ... 
doi:10.1007/978-3-030-17184-1_6 fatcat:4gbjdtm7srg45i33pchcvdmoty
« Previous Showing results 1 — 15 out of 8,374 results