603 research outputs found

    Abstract semantics for functional constraint programming

    Get PDF
    technical reportA denotational semantics is given for a lazy functional language with monotonic side-effects arising from the unification of singly-bound logical variables. The semantics is based on a Scott-style information system, which elegantly captures the notion of "constraint additin" inherent in unification. A novel feature of our approach is exploitation of the representational duality of denotations defined by information systems: (i) as domain elements in the traditional sense, and (ii) as sets of propositions or constraints. Spread care is taken to express accurately the interactions of lazy evaluation (e.g. evaluation by need), and read-only accesses of logical variables defer function applications. The purpose of our semantic description is to establish language properties such as determinacy under parallel evaluation, to validate implementation strategies, and to support the design of program analysis techniques such as those based on abstract interpretation

    TOWARDS MODELS OF REALISTIC COMPUTING MACHINES IN COMPUTER SCIENCE

    Get PDF
    The paper presents an approach to system modelling in design of both hardware and software systems. It is based on the definition of models of machines that can be directly implemented. The paper shows how to render less abstract and more realistic the abstract machines defined by theoreticians, so that they can capture implementation and technological-oriented aspects, such as testability, and allow an easy transition to final implementations. A realistic abstract machine for lambda-calculus is then presented and the design of system for lambda-expressions evaluation is illustrated. The architecture chosen for the system is based on a collection of finite state automata, evolving concurrently and communicating via a broadcast system. Some conclusive remarks about the use of realistic models arc finally drawn

    Data Constraints in Function-Oriented Languages

    Get PDF

    Detecting interference through graph reduction

    Get PDF
    Parallel programs which run in a shared-memory model have several threads that may interfere. There are constraints between the threads and these constraints can be modelled by a net. We present TLA nets, which are interesting for the representation of concurrent executions. A reduction operation is defined on these nets, in order to detect interferences. These interferences can be eliminated by adding components such as delays to the net. TLA nets are a graphical tool to explore the constraints of parallel programming
    • …
    corecore