FP2(ID:1224/fp:002)Functional Parallel Programming. Term rewrite rules used to specify algebraic data types and parallel processes. Structures: References: 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 in European Conference on Computer Algebra EUROCAL 85 LNCS 204 view details |