Partial evaluation of metaprograms in a ``multiple worlds'' logic language (Q1108779)

From MaRDI portal





scientific article; zbMATH DE number 4068252
Language Label Description Also known as
default for all languages
No label defined
    English
    Partial evaluation of metaprograms in a ``multiple worlds'' logic language
    scientific article; zbMATH DE number 4068252

      Statements

      Partial evaluation of metaprograms in a ``multiple worlds'' logic language (English)
      0 references
      0 references
      0 references
      1988
      0 references
      This paper describes a partial evaluation system specifically designed to be used as an automatic compilation tool for metaprograms in a knowlege base management system (EPSILON) based on Prolog. EPSILON main underlying concepts are the extension of Prolog with theories (``multiple worlds'') and the use of metaprogramming as the basic technique to define new inference engines and tools. Our partial evaluator is oriented towards theories and metainterpreter specialization. Being designed to be used as an automatic compiler, it does not require declarations from the user to control the unfolding process. It handles full Prolog and provides also an elegant solution to the problem of the partial evaluation of incomplete and self-modifying programs, by exploiting the multiple worlds feature added to Prolog. EPSILON partial evaluation system turned out to be a very useful and powerful tool to combine the low cost and the flexibility of metaprogramming with the performance requirements of a practical knowledge based system.
      0 references
      logic programming
      0 references
      metainterpreter
      0 references
      KBMS
      0 references
      partial evaluation
      0 references
      automatic compilation
      0 references
      knowlege base management system
      0 references
      Prolog
      0 references
      multiple worlds
      0 references
      metaprogramming
      0 references
      knowledge based system
      0 references

      Identifiers

      0 references
      0 references
      0 references
      0 references
      0 references
      0 references
      0 references