179,974 research outputs found
Type-Directed Program Transformations for the Working Functional Programmer
We present preliminary research on Deuce+, a set of tools integrating plain text editing with structural manipulation that brings the power of expressive and extensible type-directed program transformations to everyday, working programmers without a background in computer science or mathematical theory. Deuce+ comprises three components: (i) a novel set of type-directed program transformations, (ii) support for syntax constraints for specifying "code style sheets" as a means of flexibly ensuring the consistency of both the concrete and abstract syntax of the output of program transformations, and (iii) a domain-specific language for specifying program transformations that can operate at a high level on the abstract (and/or concrete) syntax tree of a program and interface with syntax constraints to expose end-user options and alleviate tedious and potentially mutually inconsistent style choices. Currently, Deuce+ is in the design phase of development, and discovering the right usability choices for the system is of the highest priority
Initial Algebra Semantics for Cyclic Sharing Tree Structures
Terms are a concise representation of tree structures. Since they can be
naturally defined by an inductive type, they offer data structures in
functional programming and mechanised reasoning with useful principles such as
structural induction and structural recursion. However, for graphs or
"tree-like" structures - trees involving cycles and sharing - it remains
unclear what kind of inductive structures exists and how we can faithfully
assign a term representation of them. In this paper we propose a simple term
syntax for cyclic sharing structures that admits structural induction and
recursion principles. We show that the obtained syntax is directly usable in
the functional language Haskell and the proof assistant Agda, as well as
ordinary data structures such as lists and trees. To achieve this goal, we use
a categorical approach to initial algebra semantics in a presheaf category.
That approach follows the line of Fiore, Plotkin and Turi's models of abstract
syntax with variable binding
Structural abstract interpretation, A formal study using Coq
interpreters are tools to compute approximations for behaviors of a program.
These approximations can then be used for optimisation or for error detection.
In this paper, we show how to describe an abstract interpreter using the
type-theory based theorem prover Coq, using inductive types for syntax and
structural recursive programming for the abstract interpreter's kernel. The
abstract interpreter can then be proved correct with respect to a Hoare logic
for the programming language
Information structural notions and the fallacy of invariant correlates
In a first step, definitions of the irreducible information structural categories are given, and in a second step, it is shown that there are no invariant phonological or otherwise grammatical correlates of these categories. In other words, the phonology, syntax or morphology are unable to define information structure. It is a common mistake that information structural categories are expressed by invariant grammatical correlates, be they syntactic, morphological or phonological. It is rather the case that grammatical cues help speaker and hearer to sort out which element carries which information structural role, and only in this sense are the grammatical correlates of information structure important. Languages display variation as to the role of grammar in enhancing categories of information structure, and this variation reflects the variation found in the ‘normal’ syntax and phonology of languages
Dialectal variation in german 3-verb clusters : a surface-oriented optimality theoretic account
We present data from an empirical investigation on the dialectal variation in the syntax of German 3-verb clusters, consisting of a temporal auxiliary, a modal verb, and a predicative verb. The ordering possibilities vary greatly among the dialects. Some of the orders that we found occur only under particular stress assignments. We assume that these orders fulfil an information structural purpose and that the reordering processes are changes only in the linear order of the elements which is represented exclusively at the surface syntactic level, PF (Phonetic Form). Our Optimality theoretic account offers a multifactorial perspective on the phenomenon
The syntax of slavic predicate case
In this article I provide a syntactic framework for case patterns found in Slavic secondary predicates
Distributive Laws for Monotone Specifications
Turi and Plotkin introduced an elegant approach to structural operational
semantics based on universal coalgebra, parametric in the type of syntax and
the type of behaviour. Their framework includes abstract GSOS, a categorical
generalisation of the classical GSOS rule format, as well as its categorical
dual, coGSOS. Both formats are well behaved, in the sense that each
specification has a unique model on which behavioural equivalence is a
congruence. Unfortunately, the combination of the two formats does not feature
these desirable properties. We show that monotone specifications - that
disallow negative premises - do induce a canonical distributive law of a monad
over a comonad, and therefore a unique, compositional interpretation.Comment: In Proceedings EXPRESS/SOS 2017, arXiv:1709.0004
- …
