35 research outputs found

    Minimal term rewriting systems

    Get PDF
    Formally well-founded compilation techniques for Term Rewriting Systems (TRSs) are presented. TRSs are compiled into Minimal Term Rewriting Systems (MTRSs), a subclass of TRSs in which all rules have an extremely simple form. A notion of simulation of (rewrite) relations is presented, under which an MTRSs can be said to simulate a TRS. The MTRS rules can be directly interpreted as instructions for an extremely simple Abstract Rewriting Machine (ARM). Favourable practical results have already been obtained with an earlier version of ARM

    ARM : abstract rewriting machine

    Get PDF
    Term rewriting is frequently used as implementation technique for algebraic specifications. In this paper we present the abstract term rewriting machine (ARM), which has an extremely compact instruction set and imposes no restrictions on the implemented TRSs. Apart from standard conditional term rewriting, associative lists are supported. ARM code is translated to (ANSI) C; the resulting execution speeds are good (on a sun4, an average of 80000 rewriting steps per second and a maximum of 416000 r/s were measured). Several benchmarks are shown, and related work is discussed in depth

    Lazy rewriting on eager machinery

    Get PDF
    We define Lazy Term Rewriting Systems and show that they can be realized by local adaptations of an eager implementation of conventional term rewriting systems. The overhead of lazy evaluation is only incurred when lazy evaluation is actually performed. Our method is modelled by a transformation of term rewriting systems, which concisely expresses the intricate interaction between pattern matching and lazy evaluation. The method easily extends to term graph rewriting

    Simulating TRSs by minimal TRSs : a simple, efficient, and correct compilation technique

    Get PDF
    A simple, efficient, and correct compilation technique for left-linear Term Rewriting Systems (TRSs) is presented. TRSs are compiled into Minimal Term Rewriting Systems (MTRSs), a subclass of TRSs, presented in [KW95d]. In MTRSs, the rules have such a simple form that they can be seen as instructions for an easily implementable abstract machine, the Abstract Rewriting Machine (ARM). In the correctness proof, it is shown that the MTRS resulting from compilation of a TRS simulates neither too much (soundness) nor too little (completeness), nor does it introduce unwarranted infinite sequences (termination conservation). The compiler and its correctness proof are largely independent of the reduction strategy

    A model for I/O in equational languages with don't care non-determinism

    Get PDF
    Existing models for I/O in side-effect free languages focus on functional languages, which are usually based on a largely deterministic reduction strategy, allowing for a strict sequentialization of I/O operations. In concurrent logic programming languages a model is used which allows for don't care non-determinism; the sequentialization of I/O is extensional rather than intensional. We apply this model to equational languages, which are closely related to functional languages, but exhibit don't care non-determinism. The semantics are formulated as constrained narrowing, a relation that contains the rewrite relation, and is contained in the narrowing relation. We present constrained narrowing and some of its properties; a constructive method to transform conventional term rewriting systems to constrained narrowing systems; and a discussion on requirements for an implementation

    Epic 1.0 (unconditional) : an equational programming language

    Get PDF
    We present EPIC, an equational programming language: its abstract syntax, static and operational semantics, and one of many possible concrete grammars of unconditional EPIC

    An extensible language for the generation of parallel data manipulation andcontrol packages

    Get PDF
    The design and implementation of the language fSDL (full Structure Definition Language) is discussed. In fSDL, complex user-defined data types such as lists, tables, trees, and graphs can be constructed from a tiny set of primitives. Beyond mere structure definitions (also offered by previously existing tools) high-level functionality on these data types can be specified. In the COMPARE (ESPRIT) project, the C code generated from an fSDL specification will be used by compiler-components running in parallel on a common data pool. fSDL is first translated into a sublanguage, flat fSDL, from which the actual C code is produced. Flat fSDL is a convenient interface for cooperation with other compiler generation tools. There is a formal relation between the input fSDL and the resulting flat form

    Within ARM's reach : compilation of left-linear rewrite systems via minimalrewrite systems

    Get PDF
    A new compilation technique for left-linear term rewriting systems is presented, where rewrite rules are transformed into so-called minimal rewrite rules. These minimal rules have such a simple form that they can be viewed as instructions for an abstract rewriting machine (ARM)

    Slippery paints:Eco-friendly coatings that cause ants to slip

    Get PDF
    Many insects are considered to be pests and can be serious threats to buildings. Insecticides represent an effective way to control pest insects but are harmful to the environment. As an eco-friendlier alternative, we have formulated waterborne, organic paints which provided a slippery physical barrier for leafcutter ants (Atta cephalotes) on vertical surfaces. Different paints were produced by varying the Pigment Volume Concentration (PVC) and amount of TiO2 and CaCO3 particles, and characterised in terms of contact angles, surface roughness and scrub resistance. The paints' slipperiness for A. cephalotes ants was evaluated in climbing tests on vertical paint panels (by recording the percentage of fallen ants). Two main factors reduced the insects' attachment to vertical paint surfaces: (1) the PVC: in paints above a critical PVC, more loose particles detach from the coating and thereby reduce insect attachment; and (2) the type, dimensions and shape of solid particles: CaCO3 particles detach more easily from the paint than TiO2, probably due to their larger size and platelet shape. Paints formulated at PVC 70 and containing 20 wt% CaCO3 showed the best performance in terms of slipperiness, as well as providing good scrub resistance

    Temperature-Responsive Polyelectrolyte Complexes for Bio-Inspired Underwater Adhesives

    Get PDF
    Adhesive proteins of marine organisms contain significant amounts of hydrophobic amino acids. Therefore, inter- and intramolecular hydrophobic interactions are expected to play an important role in both adhesion and cohesion. Here, we mimic the hydrophobicity of adhesive proteins by using temperature-responsive polyelectrolyte complexes (TERPOCs) with a high poly(N-isopropylacrylamide) (PNIPAM) content. Upon mixing aqueous solutions of PNIPAM-b-poly(acrylic acid)-b-PNIPAM and poly(2-(dimethylamino) ethyl methacrylate) (PDMAEMA), complexation between the oppositely charged polyelectrolytes occurs. At low temperatures, complex coacervate core micelles (C3Ms) with a PNIPAM corona are formed, and upon a temperature increase, the solution turns into a hydrogel by the formation of a network of hydrophobic PNIPAM domains. Consequently, an abrupt increase in viscosity is observed upon heating which facilitates injectability of the adhesive. The gelation temperature, Tgel, and (adhesive) strength of the TERPOC can be adjusted by altering the salt and polymer concentration, which changes the balance between the electrostatic and hydrophobic interactions. Despite the importance of hydrophobic groups in strong underwater adhesives, we conclude that TERPOCs with a high PNIPAM content (70 wt%) are unstable due to water release. Consequently, there is a limited amount of hydrophobic groups that can be inserted in this type of systems. Nevertheless, TERPOCs show promising and tunable properties for application as injectable underwater adhesives, for example in biomedical applications
    corecore