40,406 research outputs found
Reconciling positional and nominal binding
We define an extension of the simply-typed lambda calculus where two
different binding mechanisms, by position and by name, nicely coexist. In the
former, as in standard lambda calculus, the matching between parameter and
argument is done on a positional basis, hence alpha-equivalence holds, whereas
in the latter it is done on a nominal basis. The two mechanisms also
respectively correspond to static binding, where the existence and type
compatibility of the argument are checked at compile-time, and dynamic binding,
where they are checked at run-time.Comment: In Proceedings ITRS 2012, arXiv:1307.784
Information Technology for Preserving the Bulgarian Folklore Heritage
Folk songs are an important and essential part of the Bulgarian cultural heritage. Following the traditions of the
20th century in publishing Bulgarian folk songs, we prepared
the book “Folk Songs from Thrace” [3] with scores and lyrics
recorded from original performances in the 60s and 80s of the last century. We created a digital library of over 1200 songs, which provides access to songs via full-text search engine. The data sources are stored using advanced information technology to encode texts, notes and sound. Traditional indexes and bookmarks for the book are also developed using our software
A checklist for choosing between R packages in ecology and evolution
The open source and free programming language R is a phenomenal mechanism to address a multiplicity of challenges in ecology and evolution. It is also a complex ecosystem because of the diversity of solutions available to the analyst.
Packages for R enhance and specialize the capacity to explore both niche data/experiments and more common needs. However, the paradox of choice or how we select between many seemingly similar options can be overwhelming and lead to different potential outcomes.
There is extensive choice in ecology and evolution between packages for both fundamental statistics and for more specialized domain‐level analyses.
Here, we provide a checklist to inform these decisions based on the principles of resilience, need, and integration with scientific workflows for evidence.
It is important to explore choices in any analytical coding environment—not just R—for solutions to challenges in ecology and evolution, and document this process because it advances reproducible science, promotes a deeper understand of the scientific evidence, and ensures that the outcomes are correct, representative, and robust.York University Librarie
A model-based approach to language integration
The interactions of several languages within a soft- ware system pose a number of problems. There is several anecdotal and empirical evidence supporting such concerns. This paper presents a solution to achieve proper language integration in the context of language workbenches and with limited effort. A simple example is presented to show how cross- language constraints can be addressed and the quality of the support attainable, which covers error-checking and refactoring. A research agenda is then presented, to support future work in the area of language integration, taking advantage of modern language workbenches features
Multi-level Contextual Type Theory
Contextual type theory distinguishes between bound variables and
meta-variables to write potentially incomplete terms in the presence of
binders. It has found good use as a framework for concise explanations of
higher-order unification, characterize holes in proofs, and in developing a
foundation for programming with higher-order abstract syntax, as embodied by
the programming and reasoning environment Beluga. However, to reason about
these applications, we need to introduce meta^2-variables to characterize the
dependency on meta-variables and bound variables. In other words, we must go
beyond a two-level system granting only bound variables and meta-variables.
In this paper we generalize contextual type theory to n levels for arbitrary
n, so as to obtain a formal system offering bound variables, meta-variables and
so on all the way to meta^n-variables. We obtain a uniform account by
collapsing all these different kinds of variables into a single notion of
variabe indexed by some level k. We give a decidable bi-directional type system
which characterizes beta-eta-normal forms together with a generalized
substitution operation.Comment: In Proceedings LFMTP 2011, arXiv:1110.668
The C Object System: Using C as a High-Level Object-Oriented Language
The C Object System (Cos) is a small C library which implements high-level
concepts available in Clos, Objc and other object-oriented programming
languages: uniform object model (class, meta-class and property-metaclass),
generic functions, multi-methods, delegation, properties, exceptions, contracts
and closures. Cos relies on the programmable capabilities of the C programming
language to extend its syntax and to implement the aforementioned concepts as
first-class objects. Cos aims at satisfying several general principles like
simplicity, extensibility, reusability, efficiency and portability which are
rarely met in a single programming language. Its design is tuned to provide
efficient and portable implementation of message multi-dispatch and message
multi-forwarding which are the heart of code extensibility and reusability.
With COS features in hand, software should become as flexible and extensible as
with scripting languages and as efficient and portable as expected with C
programming. Likewise, Cos concepts should significantly simplify adaptive and
aspect-oriented programming as well as distributed and service-oriented
computingComment: 18
An extensible web interface for databases and its application to storing biochemical data
This paper presents a generic web-based database interface implemented in
Prolog. We discuss the advantages of the implementation platform and
demonstrate the system's applicability in providing access to integrated
biochemical data. Our system exploits two libraries of SWI-Prolog to create a
schema-transparent interface within a relational setting. As is expected in
declarative programming, the interface was written with minimal programming
effort due to the high level of the language and its suitability to the task.
We highlight two of Prolog's features that are well suited to the task at hand:
term representation of structured documents and relational nature of Prolog
which facilitates transparent integration of relational databases. Although we
developed the system for accessing in-house biochemical and genomic data the
interface is generic and provides a number of extensible features. We describe
some of these features with references to our research databases. Finally we
outline an in-house library that facilitates interaction between Prolog and the
R statistical package. We describe how it has been employed in the present
context to store output from statistical analysis on to the database.Comment: Online proceedings of the Joint Workshop on Implementation of
Constraint Logic Programming Systems and Logic-based Methods in Programming
Environments (CICLOPS-WLPE 2010), Edinburgh, Scotland, U.K., July 15, 201
Recommended from our members
Transforming television drama through dubbing and subtitling: sex and the cities
IRDS prototyping with applications to the representation of EA/RA models
The requirements and system overview for the Information Resources Dictionary System (IRDS) are described. A formal design specification for a scaled down IRDS implementation compatible with the proposed FIPS IRDS standard is contained. The major design objectives for this IRDS will include a menu driven user interface, implementation of basic IRDS operations, and PC compatibility. The IRDS was implemented using Smalltalk/5 object oriented programming system and an ATT 6300 personal computer running under MS-DOS 3.1. The difficulties encountered in using Smalltalk are discussed
- …