Searcharxiv⌕ Search

arXiv subjects

Baltasar Trancón y Widemann

Publications and source records attributed to Baltasar Trancón y Widemann.

16 recordsLinked to original sources

A Theory of Conversion Relations for Prefixed Units of Measure

Units of measure with prefixes and conversion rules are given a formal semantic model in terms of categorial group theory. Basic structures and both natural and contingent semantic operations are defined. Conversion rules are represented as a class of ternary relations with both group-like and category-like properties. A hierarchy of subclasses is explored, each satisfying stronger useful algebraic properties than the preceding, culminating in a direct efficient conversion-by-rewriting algorithm.

cs.PL↗

ALEA IACTA EST: A Declarative Domain-Specific Language for Manually Performable Random Experiments

Random experiments that are simple and clear enough to be performed by human agents feature prominently in the teaching of elementary stochastics as well as in games. We present Alea, a domain-specific language for the specification of random experiments. Alea code can either be analyzed statically to obtain and inspect probability distributions of outcomes, or be executed with a source pseudo-randomness for simulation or as a game assistant. The language is intended for ease of use by non-expert programmers, in particular students of elementary stochastics, and players and designers of games of chance, by focusing on concepts common to functional programming and basic mathematics. Both the design of the language and the implementation of runtime environments are work in progress.

cs.PL↗

Härpfer's Extended Indispensability Algorithm in Z

Since 1978, Clarence Barlow developed the ``Indispensability Function''. It operates on a metric tree that is bound to the same prime number of branches for all subtrees of each particular level. It assigns to all leaf postions of this tree a numeric value which indicates how important the acoustic presence of an event at this position is for the meter to be recognized as such. Bernd Härpfer extended this concept in 2015 to deal with meters which have arbitrary groupings into two or three at any position of the tree hierarchy. This is called ``Extended Indispensability Algorithm''. This article gives a specification of the Extended Algorithm in a slightly extended version of the Z specification language, and a possible generalization to arbitrary metric trees.

cs.PL↗

Critical Semantic Properties of Music Notation Datasets

The semantics of notation systems can naturally be meta-modelled as a network of transformations, starting with the syntactic elements of the notation and ending with the parameters of an execution. In this context, a digital encoding format for music notation can be seen as selecting a subset of the data nodes of this network for storage, leaving others to evaluation. For such a selection, semantic properties are defined which have impact on the practical costs of maintenance, migration, extension, etc.

cs.PL↗

Practical Idiomatic Considerations for Checkable Meta-Logic in Experimental Functional Programming

Implementing a complex concept as an executable model in a strongly typed, purely functional language hits a sweet spot between mere simulation and formal specification. For research and education it is often desirable to enrich the algorithmic code with meta-logical annotations, variously embodied as assertions, theorems or test cases. Checking frameworks use the inherent logical power of the functional paradigm to approximate theorem proving by heuristic testing. Here we propose several novel idioms to enhance the practical expressivity of checking, namely meta-language marking, nominal axiomatics, and constructive existentials. All of these are formulated in literate Haskell'98 with some common language extensions. Their use and impact are illustrated by application to a realistic modeling problem.

cs.PL↗

Improving the Performance of the Paisley Pattern-Matching EDSL by Staged Combinatorial Compilation

Paisley is a declarative lightweight embedded domain-specific language for expressive, non-deterministic, non-invasive pattern matching on arbitrary data structures in Java applications. As such, it comes as a pure Java library of pattern-matching combinators and corresponding programming idioms. While the combinators support a basic form of self-optimization based on heuristic metadata, overall performance is limited by the distributed and compositional implementation that impedes non-local code optimization. In this paper, we describe a technique for improving the performance of Paisley transparently, without compromising the flexible and extensible combinatorial design. By means of distributed bytecode generation, dynamic class loading and just-in-time compilation of patterns, the run-time overhead of the combinatorial approach can be reduced significantly, without requiring any technology other than a standard Java virtual machine and our LLJava bytecode framework. We evaluate the impact by comparison to earlier benchmarking results on interpreted Paisley. The key ideas of our compilation technique are fairly general, and apply in principle to any kind of combinator language running on any jit-compiling host.

cs.PL↗

Simple and Effective Relation-Based Approaches To XPath and XSLT Type Checking (Technical Report, Bad Honnef 2015)

XPath is a language for addressing parts of an XML document. We give an abstract interpretation of XPath expressions in terms of relations on document node types. Node-set-related XPath language constructs are mapped straightforwardly onto basic, well-understood and easily computable relational operations. Hence our interpretation gives both extremely concise type-level denotational semantics and a practical analysis tool for the node-set fragment of the XPath 1.0 language. This method is part of the TPath implementation of XPath. XSL-T is a pure functional language for transforming XML documents. For the most common case, the transformation into an XML document, type checking of the transformation code is unfeasible in general, but strongly required in practice. It turned out that the relational approach of TPath can be carried over to check all fragments of the result language, which are contained verbatim in the transformation code. This leads to a technique called "Fragmented Validation" and is part of the txsl implementation of XSL-T.

cs.PL↗

D2d -- XML for Authors

D2d is an input format which allows experienced authors to create type correct xml text objects with minimal disturbance of the creative flow of writing. This paper contains the complete specification of the parsing process, including the generation of error messages.

cs.PL↗

A Practical Study of Control in Objected-Oriented--Functional--Logic Programming with Paisley

Paisley is an extensible lightweight embedded domain-specific language for nondeterministic pattern matching in Java. Using simple APIs and programming idioms, it brings the power of functional-logic processing of arbitrary data objects to the Java platform, without constraining the underlying object-oriented semantics. Here we present an extension to the Paisley framework that adds pattern-based control flow. It exploits recent additions to the Java language, namely functional interfaces and lambda expressions, for an explicit and transparent continuation-passing style approach to control. We evaluate the practical impact of the novel features on a real-world case study that reengineers a third-party open-source project to use Paisley in place of conventional object-oriented data query idioms. We find the approach viable for incremental refactoring of legacy code, with significant qualitative improvements regarding separation of concerns, clarity and intentionality, thus making for easier code understanding, testing and debugging.

cs.PL↗

Higher-Order Recursion Abstraction: How to Make Ackermann, Knuth and Conway Look Like a Bunch of Primitives, Figuratively Speaking

The Ackermann function is a famous total recursive binary function on the natural numbers. It is the archetypal example of such a function that is not primitive recursive, in the sense of classical recursion theory. However, and in seeming contradiction, there are generalized notions of total recursion, for which the Ackermann function is in fact primitive recursive, and often featured as a witness for the additional power gained by the generalization. Here, we investigate techniques for finding and analyzing the primitive form of complicated recursive functions, namely also Knuth's and Conway's arrow notations, in particular by recursion abstraction, in a framework of functional program transformation.

cs.LO↗

Comments on "the return of information theory"

We criticize the article "Quantifying sustainability: Resilience, efficiency and the return of information theory" (Ulanowicz et al., Ecological Complexity, 2009) for its presentation of information theory to an audience of ecologists. We find that the formulation and use of basic IT concepts are unnecessarily obscure, deliberately incompatible with standard terminology, and in places just mathematically wrong. We lift some of the confusion by correcting errors, dissecting ambiguities and using standard terminology wherever possible. We believe that clear and rigorous presentations are necessary in order to enable information theoreticians and ecologists to engage in a fruitful dialogue.

cs.IT↗

Scientific Modelling with Coalgebra-Algebra Homomorphisms

Many recursive functions can be defined elegantly as the unique homomorphisms, between two algebras, two coalgebras, or one each, that are induced by some universal property of a distinguished structure. Besides the well-known applications in recursive functional programming, several basic modes of reasoning about scientific models have been demonstrated to admit such an exact meta-theory. Here we explore the potential of coalgebra--algebra homomorphism that are not a priori unique, for capturing more loosely specifying patterns of scientific modelling. We investigate a pair of dual techniques that leverage (co)monadic structure to obtain reasonable genericity even when no universal properties are given. We show the general applicability of the approach by discussing a surprisingly broad collection of instances from real-world modelling practice.

cs.LO↗

Foundations of Total Functional Data-Flow Programming

The field of declarative stream programming (discrete time, clocked synchronous, modular, data-centric) is divided between the data-flow graph paradigm favored by domain experts, and the functional reactive paradigm favored by academics. In this paper, we describe the foundations of a framework for unifying functional and data-flow styles that differs from FRP proper in significant ways: It is based on set theory to match the expectations of domain experts, and the two paradigms are reduced symmetrically to a low-level middle ground, with strongly compositional semantics. The design of the framework is derived from mathematical first principles, in particular coalgebraic coinduction and a standard relational model of stateful computation. The abstract syntax and semantics introduced here constitute the full core of a novel stream programming language.

cs.PL↗

Systematic Construction of Temporal Logics for Dynamical Systems via Coalgebra

Temporal logics are an obvious high-level descriptive companion formalism to dynamical systems which model behavior as deterministic evolution of state over time. A wide variety of distinct temporal logics applicable to dynamical systems exists, and each candidate has its own pragmatic justification. Here, a systematic approach to the construction of temporal logics for dynamical systems is proposed: Firstly, it is noted that dynamical systems can be seen as coalgebras in various ways. Secondly, a straightforward standard construction of modal logics out of coalgebras, namely Moss's coalgebraic logic, is applied. Lastly, the resulting systems are characterized with respect to the temporal properties they express.

cs.LO↗

Solving the TTC 2011 Compiler Optimization Task with metatools

The authors' "metatools" are a collection of tools for generic programming. This includes generating Java sources from mathematically well-founded specifications, as well as the creation of strictly typed document object models for XML encoded texts. In this context, almost every computer-internal structure is treated as a "model", and every computation is a kind of model transformation. This concept differs significantly from "classical model transformation" executed by specialized tools and languages. Therefore it seemed promising to the organizers of the TTC 2011, as well as to the authors, to apply metatools to one of the challenges, namely to the "compiler optimization task". This is a report on the resulting experiences.

cs.SE↗

Kumaraswamy and beta distribution are related by the logistic map

The Kumaraswamy distribution has been proposed as an alternative to the beta distribution with more benign algebraic properties. They have the same two parameters, the same support and qualitatively similar shape for any parameter values. There is a generic relationship between the distributions established by a simple transformation between arbitrary Kumaraswamy-distributed random variables and certain beta-distributed random variables. Here, a different relationship is established by means of the logistic map, the paradigmatic example of a discrete non-linear dynamical system.

math.ST↗