21,560 research outputs found
From ACT-ONE to Miranda, a Translation Experiment
It is now almost universally acknowledged that the data language ACT-ONE associated with the formal description technique LOTOS is inappropriate for the purpose of OSI formal description. In response to this the LOTOS restandardisation activity plans to replace ACT-ONE with a functional language. Thus, compatibility between ACT-ONE and the replacement data language becomes an issue. In response to this, we present an experimental investigation of backward compatibility between ACT-ONE and the new LOTOS data language. Specifically, we investigate translating ACT-ONE data types into the functional language Miranda. Miranda has been chosen as it is a widely used functional programming language and it is close in form to the anticipated new data language. This work serves as a ``verification of concept'' for translating ACT-ONE to the E-LOTOS data language. It identifies the bounds on embedding ACT-ONE in a functional data language. In particular, it indicates what can be translated and what cannot be translated. In addition, the paper reveals pertinent issues which can inform the E-LOTOS work. For example, which constructs are needed in E-LOTOS in order to support the class of data type specifications typically made in the LOTOS setting? We conclude with a number of specific recommendations for the E-LOTOS data language
Non-linear Pattern Matching with Backtracking for Non-free Data Types
Non-free data types are data types whose data have no canonical forms. For
example, multisets are non-free data types because the multiset has
two other equivalent but literally different forms and .
Pattern matching is known to provide a handy tool set to treat such data types.
Although many studies on pattern matching and implementations for practical
programming languages have been proposed so far, we observe that none of these
studies satisfy all the criteria of practical pattern matching, which are as
follows: i) efficiency of the backtracking algorithm for non-linear patterns,
ii) extensibility of matching process, and iii) polymorphism in patterns.
This paper aims to design a new pattern-matching-oriented programming
language that satisfies all the above three criteria. The proposed language
features clean Scheme-like syntax and efficient and extensible pattern matching
semantics. This programming language is especially useful for the processing of
complex non-free data types that not only include multisets and sets but also
graphs and symbolic mathematical expressions. We discuss the importance of our
criteria of practical pattern matching and how our language design naturally
arises from the criteria. The proposed language has been already implemented
and open-sourced as the Egison programming language
Teaching rule‐based algorithmic composition: the PWGL library cluster rules
This paper presents software suitable for undergraduate students to implement computer programs that compose music. The software offers a low floor (students easily get started) but also a high ceiling (complex compositional theories can be modelled). Our students are particularly interested in tonal music: such aesthetic preferences are supported, without stylistically restricting users of the software.
We use a rule‐based approach (constraint programming) to allow for great flexibility. Our software Cluster Rules implements a collection of compositional rules on rhythm, harmony, melody, and counterpoint for the new music constraint system Cluster Engine by Örjan Sandred.
The software offers a low floor by observing several guidelines. The programming environment uses visual programming (Cluster Rules and Cluster Engine extend the algorithmic composition system PWGL). Further, music theory definitions follow a template, so students can learn from examples how to create their own definitions. Finally, students are offered a collection of predefined rules, which they can freely combine in their own definitions.
Music Technology students, including students without any prior computer programming experience, have successfully used the software. Students used the musical results of their computer programs to create original compositions.
The software is also interesting for postgraduate students, composers and researchers. Complex polyphonic constraint problems are supported (high ceiling). Users can freely define their own rules and combine them with predefined rules. Also, Cluster Engine’s efficient search algorithm makes advanced problems solvable in practice
Analysis of Feature Models using Generalised Feature Trees
This paper introduces the concept of generalised feature trees, which are feature trees where features can have multiple occurrences. It is shown how an important class of feature models can be transformed into generalised feature trees. We present algorithms which, after transforming a feature model to a generalised feature tree, compute properties of the corresponding software product line. We discuss the computational complexity of these algorithms and provide executable specifications in the functional programming language Miranda
Recommended from our members
'I Like the Metamorphosis of the Characters': Dynamics of Transnational Television Comedy Engagement
This article contributes to debates on transnational television comedy audiences through analysis of Eastern European audiences’ engagement with British television comedy. Using questionnaire and focus group data it examines the extent and nature of British television comedy engagement by Romanian audiences and the limits of broadcasting British television comedy to Romanian audiences. The research reveals Romanian audiences’ high involvement with television comedy. Over half of questionnaire respondents watch British television comedy. Three themes regarding Romanian audiences’ engagement with British television comedy are identified in the focus group data: 1) transnational television comedy aesthetics; 2) transnational television comedy as intellectual comedy; and 3) ethical limits of transnational television comedy. These themes highlight the complex contours of transnational television comedy engagement.https://ijoc.org/index.php/ijoc/article/view/2941/152
The role of ICT in teacher education. The development of web pages by project method
This paper is a description of an in-service teacher training experience that used ICT to develop a project that involved teachers (nursery and primary) and also children, parents and other members of the educational community. Its aim was to build an Internet site that would give information about school life. It's an open web space where teachers, parents and students can express and share their ideals and activities. This project is still in progress and is being developed in three interconnected phases: conception, development and evaluation. The most important issue to relate is that the technical or instrumental learning is dependent on the ideas and purposes of teachers, students and parents.
We believe that when we talk about ICT in schools and also in teacher education we shouldn't only be concerned with the 'means', that is to say, how to introduce computers or how to use a word processor and Internet resources, but also with the 'ends'. Only when we question the ends do we begin to pay attention to what we do, that is, to construct a story that is worth telling " ... to tell that we are merely tools makers (and tools users) is to miss the entire narrative aim? We are world's makers and world's weavers" (Postman, 2002, p. 108)
Higher-order + Polymorphic = Reusable
This paper explores how certain ideas in object oriented languages have their correspondents in functional languages. In particular we look at the analogue of the iterators of the C++ standard template library. We also give an example of the use of constructor classes which feature in Haskell 1.3 and Gofer
- …