Cactus(ID:2852/cac002)


Branching-time programming language(branching rather than linear)


Related languages
Prolog => Cactus   Extension of

References:
  • Rondogiannis, Panos; Gergatsoulis, Manolis; Panayiotopoulos, Themis; "Cactus: A Branching-Time Logic Programming Language" pp511-524 view details pdf Abstract: Temporal programming languages are recognized as natural and expressive formalisms for describing dynamic systems most such languages are based on linear flow of time, a fact that makes
    them unsuitable for certain types of applications. In this paper we introduce the new temporal logic programming language Cactus, which
    is based on a branching notion of time. In Cactus, the truth value of
    a predicate depends on a hidden time parameter which has a tree-like
    structure. As a result, Cactus appears to be especially appropriate for expressing non-deterministic computations or generally algorithms that involve the manipulation of tree data structures.
          in Dov M. Gabbay, et al "Qualitative and Quantitative Practical Reasoning" First International Joint Conference on Qualitative and Quantitative Practical Reasoning ECSQARU-FAPR'97, Bad Honnef, Germany, June 9-12, 1997, Proceedings. Lecture Notes in Computer Science 1244 Springer 1997, view details
  • Rondogiannis, P., M. Gergatsoulis, et al. "Branching-time logic programming: the language Cactus and its applications" view details pdf Abstract: Temporal programming languages provide a powerful means for the description and implementation of dynamic systems. However, most temporal languages are based on linear time, a fact that renders them unsuitable for certain types of applications (such as expressing properties of nondeterministic programs). In this paper we introduce the new temporal logic programming language Cactus, which is based on a branching notion of time. In Cactus, the truth value of a predicate depends on a hidden time parameter which varies over a tree. As a result, Cactus can be used to express in a natural way non-deterministic computations or generally algorithms that involve the manipulation of tree data structures. Moreover, Cactus appears to be appropriate as the target language for compilers or program transformers. Cactus programs can be executed using BSLD-resolution, a proof procedure based on the notion of canonical temporal atoms.
          in Computer Languages 24(3) view details
  • Gergatsoulis, M. "Extensions of the branching-time logic programming language CACTUS" pp117-132 view details
          in Gergatsoulis, M. and P. Rondogiannis (editors), Intensional Programming II, pages 117-132, World Sientific, 2000 view details