73 research outputs found
Recommended from our members
Proceedings of the Workshop on Algorithmic Aspects of Advanced Programming Languages: WAAAPL'99: Paris, France, September 30, 1999
The first Workshop on Algorithmic Aspects of Advanced Programming Languages was held on September 30, 1999, in Paris, France, in conjunction with the PLI'99 conferences and workshops. The choice of programming languages has a huge effect on the algorithms and data structures that are to be implemented in that language. Traditionally, algorithms and data structures have been studied in the context of imperative languages. This workshop considers the algorithmic implications of choosing an advanced functional or logic programming language instead. A total of eight papers were selected for presentation at the workshop, together with an invited lecture by Robert Harper. We would like to thank Dider Remv, general chair of PLI'99, for his assistance in organizing this workshop
The gender specification and cultural sensitivity of depression research with Black Americans: A multidimensional model
http://deepblue.lib.umich.edu/bitstream/2027.42/64287/1/Watkins_Johnson2008.pd
A Programming System for End-user Functional Programming
This research involves the construction of a programming system, HASKEU,
to support end-user programming in a purely functional programming language.
An end-user programmer is someone who may program a computer
to get their job done, but has no interest in becoming a computer programmer.
A purely functional programming language is one that does not require
the expression of statement sequencing or variable updating. The end-user is
offered two views of their functional program. The primary view is a visual
one, in which the program is presented as a collection of boxes (representing
processes) and lines (representing data
flow). The secondary view is a textual
one, in which the program is presented as a collection of written function definitions. It is expected that the end-user programmer will begin with the visual
view, perhaps later moving on to the textual view. The task of the programming
system is to ensure that the visual and textual views are kept consistent
as the program is constructed. The foundation of the programming system
is a implementation of the Model-View-Controller (MVC) design pattern as a
reactive program using the elegant Functional Reactive Programming (FRP)
framework. Human-Computer Interaction (HCI) principles and methods are
considered in all design decisions. A usabilty study was made to find out the
effectiveness of the new system
The educational experiences of the deaf adolescents attending a school for the deaf in Gauteng.
This study aimed to describe the educational experiences of deaf adolescent learners
attending a school for the deaf in South Africa. The specific objectives of the current study
included: (a) obtaining a detailed description of the educational experiences of deaf
adolescent learners; (b) establishing with which rhetoric (medical vs. cultural) the deaf
adolescents could best identify; (c) establishing the potential influence on individual identity
development of the established affiliations with the opposing models of deafness.
Ten deaf adolescents ranging between 14 and 16 years, attending a single school for the deaf
were selected as participants for the current study. A basic research design and a qualitative
approach, embedded within the theory of social constructivism were employed. Two pilot
studies were conducted in order to establish the feasibility of the current study. Thereafter,
interviews as per the ‘interview guide approach’ were administered. Field observations within
the school context and file reviews were also conducted.
Thematic content analysis was employed and the identified themes were described
qualitatively.
Results revealed the emergence of three themes. Within these themes, the adolescents’
experiences included: limited SASL role models both at home and at school, negative
educational encounters as well as positivity and hope for the future. Experiences
characteristic of the medical model and socio-cultural model of deafness were reported and
factors affecting these affiliations were described.
The researcher concluded that a level of affiliation with both the medical and the sociocultural
models of deafness existed for the participants. The impact of these affiliations on
identity construction was explored and a model of identity development, the multiculturalexperience
model, was proposed. The education of deaf individuals in South Africa shows
room for significant growth. By adjusting government education policies for deaf education
as well as supporting the goals of early intervention, deaf learners can reach their full
potential regardless of the mode of communication favoured
A Language-Independent Static Checking System for Coding Conventions
A thesis submitted in partial fulfilment of the requirements of the University of Wolverhampton for the degree of Doctor of Philosophy.Despite decades of research aiming to ameliorate the difficulties of creating software, programming still remains an error-prone task. Much work in Computer Science deals with the problem of specification, or writing the right program, rather than the complementary problem of implementation, or writing the program right. However, many desirable software properties (such as portability) are obtained via adherence to coding standards, and therefore fall outside the remit of formal specification and automatic verification. Moreover, code inspections and manual detection of standards violations are time consuming. To address these issues, this thesis describes Exstatic, a novel framework for the static detection of coding standards violations. Unlike many other static checkers Exstatic can be used to examine code in a variety of languages, including program code, in-line documentation, markup languages and so on. This means that checkable coding standards adhered to by a particular project or institution can be handled by a single tool. Consequently, a major challenge in the design of Exstatic has been to invent a way of representing code from a variety of source languages. Therefore, this thesis describes ICODE, which is an intermediate language suitable for representing code from a number of different programming paradigms. To substantiate the claim that ICODE is a universal intermediate language, a proof strategy has been developed: for a number of different programming paradigms (imperative, declarative, etc.), a proof is constructed to show that semantics-preserving translation exists from an exemplar language (such as IMP or PCF) to ICODE. The usefulness of Exstatic has been demonstrated by the implementation of a number of static analysers for different languages. This includes a checker for technical documentation written in Javadoc which validates documents against the Sun Microsystems (now Oracle) Coding Conventions and a checker for HTML pages against a site-specifc standard. A third system is targeted at a variant of the Python language, written by the author, called python-csp, based on Hoare's Communicating Sequential Processes
Session Types in Concurrent Calculi: Higher-Order Processes and Objects
This dissertation investigates different formalisms, in the form of programming language calculi,
that are aimed at providing a theoretical foundation for structured concurrent programming based
on session types. The structure of a session type is essentially a process-algebraic style description
of the behaviour of a single program identifier serving as a communication medium (and usually
referred to as a channel): the types incorporate typed inputs, outputs, and choices which can be
composed to form larger protocol descriptions. The effectiveness of session typing can be attributed
to the linear treatment of channels and session types, and to the use of tractable methods
such as syntactic duality to decide if the types of two connected channels are compatible. Linearity
is ensured when accumulating the uses of a channel into a composite type that describes also
the order of those actions. Duality provides a tractable and intuitive method for deciding when
two connected channels can interact and exchange values in a statically determined type-safe way.
We present our contributions to the theory of sessions, distilled into two families of programming
calculi, the first based on higher-order processes and the second based on objects. Our work unifies,
improves and extends, in manifold ways, the session primitives and typing systems for the
Lambda-calculus, the Pi-calculus, the Object-calculus, and their combinations in multi-paradigm
languages. Of particular interest are: the treatment of infinite interactions expressed with recursive
sessions; the capacity to encapsulate channels in higher-order structures which can be exchanged
and kept suspended, i.e., the use of code as data; the integration of protocol structure directly
into the description of objects, providing a powerful and uniformly extensible set of implementation
abstractions; finally, the introduction of asynchronous subtyping, which enables controlled
reordering of actions on either side of a session. Our work on higher-order processes and on object
calculi for session-based concurrent programming provides a theoretical foundation for programming
language design integrating functional, process, and object-oriented features
- …