FP2(ID:1224/fp:002)


Functional Parallel Programming. Term rewrite rules used to specify algebraic data types and parallel processes.


Structures:
References:
  • Ricardo Caferra & Philippe Jorrand "Unification with Refined Linearity Check as a Network of Parallel Processes" view details Abstract: This paper presents a rigorous approach to the design of a
    unification process (for first order terms) with a high degree of
    internal parallelism. This approach yields a refined version of
    the test of linear terms (i.e. terms with at most one occurrence of
    each variable). Starting with a trivial unification algorithm
    described by a recursive function in FP2 (Functional Parallel
    Programming language), this paper goes through successive
    transformational steps:
    i) The function is transformed into a pair of cooperating
    tree-like networks of parallel processes, also described in
    FP2.
    ii) This network is transformed into a more elaborate network
    performing unrestricted unification where infinite
    terms are accepted as solution.
    iii) Component processes of this last network are
    transformed so that they apply "occurs check" only in
    dynamically detected situations where infinite terms may
    appear as part of a solution (linearity thus appears as a
    static approximation for this "on the spot" localization of
    need of occurs check).
    An implementation of this algorithm would of course be of
    some use in the Parallel Inference Machine and for pushing
    parallelism as far down as possible within implementations of
    logic programming languages. Its description in FP2 constitutes
    an abstract specification for a possible hardware implementation
    of unification as a building block for AI architectures.
          in European Conference on Computer Algebra EUROCAL 85 LNCS 204 view details
  • Jorrand, Ph. "Term Rewriting as a Basis for the Design of a Functional and Parallel Programming Language. A Case Study: The Language FP2", in Fundamentals of Artificial Intelligence, LNCS 258, Springer 1986, pp.221-276. view details
          in European Conference on Computer Algebra EUROCAL 85 LNCS 204 view details