45241367
Meta-programming through typeful code representation
By allowing the programmer to write code that can generate code at run-time, meta-programming offers a powerful approach to program construction. For instance, meta-programming can often be employed to enhance program efficiency and facilitate the construction of generic programs. However, meta-programming, especially in an untyped setting, is notoriously error-prone. In this paper, we aim at making meta-programming less error-prone by providing a type system to facilitate the construction of correct meta-programs. We first introduce some code constructors for constructing typeful code representation in which program variables are represented in terms of deBruijn indexes, and then formally demonstrate how such typeful code representation can be used to support meta-programming. With our approach, a particular interesting feature is that code becomes first-class values, which can be inspected as well as executed at run-time. The main contribution of the paper lies in the recognition and then the formalization of a novel approach to typed meta-programming that is practical, general and flexible.
2409417
Implementing Cut Elimination: A Case Study of Simulating Dependent Types in Haskell
Gentzen’s Hauptsatz – cut elimination theorem – in sequent calculi reveals a fundamental property on logic connectives in various logics such as classical logic and intuitionistic logic. In this paper, we implement a procedure in Haskell to perform cut elimination for intuitionistic sequent calculus, where we use types to guarantee that the procedure can only return a cut-free proof of the same sequent when given a proof of a sequent that may contain cuts. The contribution of the paper is two-fold. On the one hand, we present an interesting (and somewhat unexpected) application of the current type system of Haskell, illustrating through a concrete example how some typical use of dependent types can be simulated in Haskell. On the other hand, we identify several problematic issues with such a simulation technique and then suggest some approaches to addressing these issues in Haskell.
18847301
A Typeful Approach to Object-Oriented Programming with Multiple Inheritance
The wide practice of objected oriented programming (OOP) in current software practice is evident. Despite extensive studies on typing programming objects, it is still undeniably a challenging research task to design a type system that can satisfactorily account for a variety of features (e.g., binary methods and multiple inheritance) in OOP. In this paper, we present a typeful approach to implementing objects that makes use of a recently introduced notion of guarded datatypes. In particular, we demonstrate how the feature of multiple inheritance can be supported with this approach, presenting a simple and general account for multiple inheritance in a typeful manner.
41020572
Cycle Partitions in Graphs
In this paper, we prove that every graph contains a cycle intersecting all maximum independent sets. Using this, we further prove that every graph with stability number α is spanned by α disjoint cycles. Here, the empty set, the graph of order 1 and the path of order 2 are all considered as degenerate cycles.
21308144
EmoEars: An Emotion Recognition System for Mandarin Speech
In this paper, an emotion recognition system for mandarin speech is presented. Five basic human emotions including angry, fear, happy, neutral and sad are investigated. The recognizer is based on neural network with OCON and ACON architecture. Some novel feature selection methods are also added as optional tool to enhance the efficiency and classification accuracy. The system can train speaker dependent emotion speech model through online emotional utterance recording. Experiment results show that emotion can be recognized through neural network model, the best mean accuracy is 86.7%. In addition, the feature selection module is effective to reduce the compute load and increase the generalization ability of the recognizer.
2888098
Evolutionary interactive music composition
This paper proposes the CFE framework---Composition, Feedback, and Evolution---and presents an interactive music composition system. The system composes short, manageable pieces of music by interacting with users. The most important features of the system include creating customized music according to the user preference and providing the facilities specifically designed for producing large amounts of music. We present the structure as well as the implementation of the system and the auxiliary functionalities that enhance the system. We also introduce the auto-feedback test with which we verify and evaluate the interactive music composition system.
1853084
Trailblazing the literature of hypertext: author co-citation analysis (1989–1998)
This paper presents the analysis and modelling of two data sets associated with the literature of hypertext as represented by the ACM Hypertext conference series. This work explores new ways of organising and accessing the vast amount of interrelated information. The first data set, including all the full papers published in this series (1987 1998), is structured and visualised as a semantic space. This semantic space provides an access point for each paper in this collection. The second data set, containing author co-citation counts based on nine conferences in the series (1989 1998), is analysed and mapped in its entirety and in three evenly distributed sub-periods. Specialties  major research fronts in the field of hypertext  are identified based on the results of a factor analysis and corresponding author co-citation maps. The names of authors in these maps are linked to the bibliographical and citation summaries of these authors on the WWW.
27005423
Binding number and toughness for matching extension
Abstract A graph G of even order is said to be k -extendable if every matching of size k in G can be extended to a 1-factor of G . Plummer (1988) showed that a graph G is k -extendable if tough ( G ) > k , and we here prove that G is also k -extendable if bind ( G ) > max {k, (7k + 13)/12}.