Showing 1–2 of 2 results for author: Soloviev, S
-
Programming with Applicative-like expressions
Authors:
Jan Malakhovski,
Sergei Soloviev
Abstract:
The fact that Applicative type class allows one to express simple parsers in a variable-less combinatorial style is well appreciated among Haskell programmers for its conceptual simplicity, ease of use, and usefulness for semi-automated code generation (metaprogramming).
We notice that such Applicative computations can be interpreted as providing a mechanism to construct a data type with "ports"…
▽ More
The fact that Applicative type class allows one to express simple parsers in a variable-less combinatorial style is well appreciated among Haskell programmers for its conceptual simplicity, ease of use, and usefulness for semi-automated code generation (metaprogramming).
We notice that such Applicative computations can be interpreted as providing a mechanism to construct a data type with "ports" "pluggable" by subcomputations. We observe that it is this property that makes them so much more convenient in practice than the usual way of building the same computations using conventional composition. We distill this observation into a more general algebraic structure of (and/or technique for expressing) "Applicative-like" computations and demonstrate several other instances of this structure.
Our interest in all of this comes from the fact that the aforementioned instances allow us to express arbitrary transformations between simple data types of a single constructor (similarly to how Applicative parsing allows to transform from streams of Chars to such data types) using a style that closely follows conventional Applicative computations, thus greatly simplifying (if not completely automating away) a lot of boiler-plate code present in many functional programs.
△ Less
Submitted 26 May, 2019;
originally announced May 2019.
-
Typed lambda-terms in categorical attributed graph transformation
Authors:
Bertrand Boisvert,
Louis Féraud,
Sergei Soloviev
Abstract:
This paper deals with model transformation based on attributed graph rewriting. Our contribution investigates a single pushout approach for applying the rewrite rules. The computation of graph attributes is obtained through the use of typed lambda-calculus with inductive types. In this paper we present solutions to cope with single pushout construction for the graph structure and the computations…
▽ More
This paper deals with model transformation based on attributed graph rewriting. Our contribution investigates a single pushout approach for applying the rewrite rules. The computation of graph attributes is obtained through the use of typed lambda-calculus with inductive types. In this paper we present solutions to cope with single pushout construction for the graph structure and the computations functions. As this rewrite system uses inductive types, the expressiveness of attribute computations is facilitated and appears more efficient than the one based on Sigma-algebras. Some examples showing the interest of our computation approach are described in this paper.
△ Less
Submitted 30 June, 2011;
originally announced July 2011.