31,526 research outputs found

    A Case for Custom, Composable Composition Operators

    Get PDF
    Programming languages typically support a fixed set of com- position operators, with fixed semantics. This may impose limits on software designers, in case a desired operator or semantics are not supported by a language, resulting in suboptimal quality characteristics of the designed software system. We demonstrate this using the well-known State design pattern, and propose the use of a composition infrastructure that allows the designer to define custom, composable composition operators. We demonstrate how this approach improves several quality factors of the State design pattern, such as reusability and modularity, while taking a reason- able amount of effort to define the necessary pattern-related code

    The Space of Experience in the Architecture of Richard Hamilton

    Get PDF
    Richard Hamilton realiza tres exposiciones en el Institute of Contemporary Arts (ICA) en el Londres de los años 50, participando del ambiente interdisciplinar del Independent Group. Estos montajes exploran la transformación de la sala a través de la construcción de estructuras que incentivan la participación activa del espectador. A partir del estudio realizado, para el que se reconstruyen estas propuestas siguiendo su lenguaje técnico original, se analiza cómo los montajes de Hamilton siguen un proceso evolutivo, en el que parte de la exploración de la forma a partir de patrones de crecimiento natural, continúa elevando la técnica a herramienta creativa y concluye con la formulación del espacio de interacción con el espectador. Este último montaje, an Exhibit, sintetiza los hallazgos de los anteriores, dando lugar a una propuesta arquitectónica a modo de tablero de juego que es protagonizada por la experiencia vivida de sus visitantes. Esta arquitectura es una estructura soporte que se genera a partir de un crecimiento orgánico ilimitado de un módulo estandarizado, de combinaciones variables y cambiante a cada momento por sus ocupantes. Los espacios expositivos de Hamilton recogen influencias de las vanguardias y tienden puentes hacia propuestas arquitectónicas contemporáneas entendidas como soporte para la incentivación de la experiencia de sus habitantes.Richard Hamilton held three exhibitions at the Institute of Contemporary Arts (ICA) in London in the 1950s, participating in the interdisciplinary environment of the Independent Group. These exhibitions explored the transformation of the room through the construction of structures that encouraged the active engagement of the viewer. Based on the study carried out, for which these proposals are reconstructed following their original technical language, an analysis is made of how Hamilton’s montages follow an evolutionary process, in which the exploration of form based on patterns of natural growth continues to elevate the technique to a creative tool and concludes with the formulation of the space of interaction with the spectator. This last montage, an Exhibit, summarised the findings of the previous ones, giving rise to an architectural proposal in the form of a game board whose focal element is the experience of its visitors. This architecture acts as a supporting structure that is generated from an unlimited organic development of a standardised module, with varying combinations, and which constantly changes for its occupants. Hamilton’s exhibition spaces draw on influences from the avant–garde and build bridges towards contemporary architectural proposals understood as a support for incentivising the experience of its inhabitants

    Our Museum Special Initiative: An Evaluation

    Get PDF
    Our Museum: Communities and Museums as Active Partners was a Paul Hamlyn Foundation Special Initiative 2012 – 2016. The overall aim was to influence the museum and gallery sector to:* Place community needs, values and active collaboration at the core of museum and gallery work* Involve communities and individuals in decision-making processes* Ensure that museums and galleries play an effective role in developing community skills and the skills of staff in working with communitiesThis was to be done through facilitation of organisational change in specific museums and galleries already committed to active partnership with communities.Our Museum offered a collaborative learning process through which institutions and communities shared experiences and learned from each other as critical friends. Our Museum took place at a difficult and challenging time for both museums and their community partners. Financial austerity led to major cutbacks in public sector expenditure; a search for new business models; growing competition for funding; and organisational uncertainty and staff volatility. At the same time, the debate at the heart of Our Museum widened and intensified: what should the purpose of longestablished cultural institutions be in the 21st century; how do they maintain relevance and resonance in the contemporary world; how can they best serve their communities; can they, and should they, promote cultural democracy

    The C Object System: Using C as a High-Level Object-Oriented Language

    Full text link
    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

    Spoon: Program Analysis and Transformation in Java

    Get PDF
    In this research report, we present Spoon, a framework for program transformation and static analysis in Java. More precisely, Spoon is an open and extensible Java compiler, written in pure Java by using Compile-time reflection techniques. We take advantage of the new features added by Java 5, and particularly of annotations and generics. Using annotations within the Spoon framework allows the programmer to extend the Java language without defining new syntactic elements, and in such a way that it is naturally supported by IDEs for Java 5 and greater. Generics, as a priceless complement, allow for the well-typing of Spoon programs that implement the programmers' language extensions. Enforcing typing naturally provides better IDE support (such as static checks, completion, documentation, and navigation), and also allows us to define a pure Java template mechanism, which we use as a tool to define well-typed and straightforward program transformations. In addition to its basic transformation capabilities, Spoon comes with a partial evaluation engine that is used to calculate the control flow of the program and to simplify the results of template-based transformations for correctness, optimization, and readability. In order to demonstrate the usability and usefulness of our framework, we present three applications, which have been chosen to cover most of Spoon's features: a translator from Java 1.4 programs into well-typed Java 5 programs, an efficient template-based AOP extension, and an automatic implementation and validation of the visitor pattern
    corecore