Results 11 - 20
of
56
On the role of logic in information retrieval
- Information Processing and Management
, 1998
"... What is that makes a “good ” logical model of IR? What are the guidelines that we should follow when we want to build one, and how much can we depart from these guidelines and still claim to have a logical model of IR? We have been motivated to write this note from our dissatisfaction with the fact ..."
Abstract
-
Cited by 31 (4 self)
- Add to MetaCart
What is that makes a “good ” logical model of IR? What are the guidelines that we should follow when we want to build one, and how much can we depart from these guidelines and still claim to have a logical model of IR? We have been motivated to write this note from our dissatisfaction with the fact that there seem to be many competing, incompatible views of what a logical model of IR should consist of; we think some of these views are misleading. 1 Information Retrieval and modelling In recent years, researchers in Information Retrieval (IR) have devoted an increasing amount of work to the design of models of IR, i.e. of theoretical descriptions of the IR task that could serve both as specifications for building running systems, and as theoretical tools for abstractly investigating the relative effectiveness of systems built along their guidelines. Modelling is fundamentally an activity of abstraction. A model is a description of a system that concentrates on the most important, architectural features of the system, and leaves out details that are believed not to be
Extensible Denotational Language Specifications
- SYMPOSIUM ON THEORETICAL ASPECTS OF COMPUTER SOFTWARE, NUMBER 789 IN LNCS
, 1994
"... Traditional denotational semantics assigns radically different meanings to one and the same phrase depending on the rest of the programming language. If the language is purely functional, the denotation of a numeral is a function from environments to integers. But, in a functional language with impe ..."
Abstract
-
Cited by 30 (4 self)
- Add to MetaCart
Traditional denotational semantics assigns radically different meanings to one and the same phrase depending on the rest of the programming language. If the language is purely functional, the denotation of a numeral is a function from environments to integers. But, in a functional language with imperative control operators, a numeral denotes a function from environments and continuations to integers. This paper introduces a new format for denotational language specifications, extended direct semantics, that accommodates orthogonal extensions of a language without changing the denotations of existing phrases. An extended direct semantics always maps a numeral to the same denotation: the injection of the corresponding number into the domain of values. In general, the denotation of a phrase in a functional language is always a projection of the denotation of the same phrase in the semantics of an extended language---no matter what the extension is. Based on extended direct semantics, i...
A Syntactic Theory of Dynamic Binding
- Higher-Order and Symbolic Computation
, 1997
"... . Dynamic binding, which has always been associated with Lisp, is still semantically obscure to many. Although largely replaced by lexical scoping, not only does dynamic binding remain an interesting and expressive programming technique in specialised circumstances, but also it is a key notion in se ..."
Abstract
-
Cited by 26 (1 self)
- Add to MetaCart
. Dynamic binding, which has always been associated with Lisp, is still semantically obscure to many. Although largely replaced by lexical scoping, not only does dynamic binding remain an interesting and expressive programming technique in specialised circumstances, but also it is a key notion in semantics. This paper presents a syntactic theory that enables the programmer to perform equational reasoning on programs using dynamic binding. The theory is proved to be sound and complete with respect to derivations allowed on programs in "dynamic-environment passing style". From this theory, we derive a sequential evaluation function in a context-rewriting system. Then, we exhibit the power and usefulness of dynamic binding in two different ways. First, we prove that dynamic binding adds expressiveness to a purely functional language. Second, we show that dynamic binding is an essential notion in semantics that can be used to define the semantics of exceptions. Afterwards, we further refin...
A Syntactic Approach to Modularity in Denotational Semantics
- IN PROCEEDINGS OF THE CONFERENCE ON CATEGORY THEORY AND COMPUTER SCIENCE
, 1993
"... This paper proposes a syntactic reformulation of the modular approach to Denotational Semantics in [Mog89a, Mog91a]. This reformulation is based on a duality between model constructions and translations of theories (often called relative interpretations), analogous to Gabriel-Ulmer duality. To de ..."
Abstract
-
Cited by 21 (4 self)
- Add to MetaCart
This paper proposes a syntactic reformulation of the modular approach to Denotational Semantics in [Mog89a, Mog91a]. This reformulation is based on a duality between model constructions and translations of theories (often called relative interpretations), analogous to Gabriel-Ulmer duality. To demonstrate the simplicity and usability of the syntactic reformulation, we give a sample of theories and translations, which can be used to give semantics to concurrent languages (via translation into suitable metalanguages).
A Functional Database
, 1989
"... A Functional Database Phil Trinder D.Phil. Thesis Wolfson College Michaelmas Term, 1989 This thesis explores the use of functional languages to implement, manipulate and query databases. Implementing databases. A functional language is used to construct a database manager that allows efficient and c ..."
Abstract
-
Cited by 21 (3 self)
- Add to MetaCart
A Functional Database Phil Trinder D.Phil. Thesis Wolfson College Michaelmas Term, 1989 This thesis explores the use of functional languages to implement, manipulate and query databases. Implementing databases. A functional language is used to construct a database manager that allows efficient and concurrent access to shared data. In contrast to the locking mechanism found in conventional databases, the functional database uses data dependency to provide exclusion. Results obtained from a prototype database demonstrate that data dependency permits an unusual degree of concurrency between operations on the data. The prototype database is used to exhibit some problems that seriously restrict concurrency and also to demonstrate the resolution of these problems using a new primitive. The design of a more realistic database is outlined. Some restrictions on the data structures that can be used in a functional database are also uncovered. Manipulating databases. Functions over the database a...
A Formal Description of Verdi
, 1990
"... This paper will be most easily appreciated by the reader with some prior knowledge of Mathematical Logic [8, 19], Set Theory [11], and Denotational Semantics [9, 18, 20]. Verdi differs from its predecessor m-Verdi [4] in several significant ways: ..."
Abstract
-
Cited by 10 (5 self)
- Add to MetaCart
This paper will be most easily appreciated by the reader with some prior knowledge of Mathematical Logic [8, 19], Set Theory [11], and Denotational Semantics [9, 18, 20]. Verdi differs from its predecessor m-Verdi [4] in several significant ways:
Creation of Views for Reuse of Software with Different Data Representations
- IEEE Transactions on Software Engineering
, 1997
"... Software reuse is inhibited by the many different ways in which equivalent data can be represented. We describe methods by which views can be constructed semiautomatically to describe how application data types correspond to the abstract types that are used in numerical generic algorithms. Given ..."
Abstract
-
Cited by 10 (2 self)
- Add to MetaCart
Software reuse is inhibited by the many different ways in which equivalent data can be represented. We describe methods by which views can be constructed semiautomatically to describe how application data types correspond to the abstract types that are used in numerical generic algorithms. Given such views, specialized versions of the generic algorithms that operate directly on the application data can be produced by compilation. This enables reuse of the generic algorithms for an application with minimal effort. Graphical user interfaces allow views to be specified easily and rapidly. Algorithms are presented for deriving, by symbolic algebra, equations that relate the variables used in the application data to the variables needed for the generic algorithms. Arbitrary application data structures are allowed. Units of measurement are converted as needed. These techniques allow reuse of a single version of a generic algorithm for a variety of possible data representations and...
A Guide to Specifying Concurrent Behaviour with Abacus
, 1990
"... Wepresent t hesyntJ0 semantkw and usage of Abacus, anexecutw5G notcut for specifying concurrent computTGw5G t hat extput CCS wit label prefix4I and filtering operatz2 for encapsulatps systsu ofcommunicat9k agent and a pattern mechanism forparamet5GUk9k behaviour expressions. Abacus isintkkDJ t be u ..."
Abstract
-
Cited by 9 (5 self)
- Add to MetaCart
Wepresent t hesyntJ0 semantkw and usage of Abacus, anexecutw5G notcut for specifying concurrent computTGw5G t hat extput CCS wit label prefix4I and filtering operatz2 for encapsulatps systsu ofcommunicat9k agent and a pattern mechanism forparamet5GUk9k behaviour expressions. Abacus isintkkDJ t be used as a semantG t arget and aprotJw5G9 tro fort he specificat99 ofconcurrent objectentU languages andsyst99 Weillustw5G tl use of Abacus tacusw a series ofstT0D6 concurrency examples, concludingwit anexecutw5G specificatT9 of SAL, a SimpleActl Language. 1.
Compiler Correctness for Parallel Languages
, 1994
"... We present a paradigm for proving the correctness of compilers for languages with parallelism. The source language is given a denotational semantics as a compositional translation to a higher-order process calculus. The target language is also given a denotational semantics as a compositional transl ..."
Abstract
-
Cited by 9 (2 self)
- Add to MetaCart
We present a paradigm for proving the correctness of compilers for languages with parallelism. The source language is given a denotational semantics as a compositional translation to a higher-order process calculus. The target language is also given a denotational semantics as a compositional translation to the same process calculus. We show the compiler is correct in that it preserves denotation up to bisimulation. The target language is also given an operational semantics, and this operational semantics is shown correct in the sense that it is branching-bisimilar to the denotational semantics of the target language. Together, these results show that for any program, the operational semantics of the target code is branching-bisimilar to the semantics of the source code. 1 Introduction In a series of papers in the early 80's [35, 34, 36, 12] we proposed a paradigm for semantics-based compiler correctness, and over the last several years we have begun putting this paradigm into practic...

