GHC
GHC: Guarded Horn clauses. The thesis introduces the programming language Guarded Horn Clauses which is abbreviated to GHC. Guarded Horn Clauses was born from the examination of existing logic programming languages and logic programming in general, with special attention paid to parallelism. The main feature of GHC is its extreme simplicity compared with the other parallel programming languages. GHC is a restriction of a resolution-based theorem prover for Horn-clause sentences. The restriction has two aspects: One is the restriction on data flow caused by unification, and the other is the introduction of choice nondeterminism. The former is essential for a general-purpose language and it also provides GHC with a synchronization primitive. The latter is required by the intended applications which include a system interacting with the outside world. What is characteristic with GHC is that all the restrictions have been imposed as the semantics given to the sole additional syntactic construct, guard. Although Guarded Horn Clauses can be classified into the family of logic programming languages, it has close relationship to other formalisms including dataflow languages, Communicating Sequential Processes, and functional languages for multiprocessing. Except for the lack of higher- order facilities, GHC can be viewed as a generalization of these frameworks. The simplicity and generality of GHC will make it suitable for a standard not only of parallel logic programming languages but of parallel programming languages. Moreover, it is simple enough to be regarded as a computation model as well as a programming language. Attention has always been paid to the possibility of efficient implementation during the design stage of GHC. We showed that stream merging and distribution which are expected to be heavily used can be implemented with the same time-complexity as the time-complexity of many- to-one communication in procedural languages. Furthermore, we made available an efficient compiler-based implementation of a subset of GHC on top of Prolog. GHC has lost the completeness as a theorem prover deliberately, not as a result of compromise. Nevertheless, it can be used for efficient implementation of exhaustive solution search for Horn- clause programs. We showed how to automatically compile a Horn-clause program for exhaustive search into a GHC program.
Keywords for this software
References in zbMATH (referenced in 43 articles , 1 standard article )
Showing results 1 to 20 of 43.
Sorted by year (- Saraswat, Vijay; Gupta, Vineet; Jagadeesan, Radha: TCC, with history (2014)
- Olarte, Carlos; Rueda, Camilo; Valencia, Frank D.: Models and emerging trends of concurrent constraint programming (2013)
- Alpuente, M.; Ballis, D.; Correa, F.; Falaschi, M.: An integrated framework for the diagnosis and correction of rule-based programs (2010)
- Ueda, Kazunori: Constraint-based concurrency and beyond (2006)
- Conery, John S.; Catchen, Julian M.; Lynch, Michael: Model driven service composition (2005) ioport
- Tsuiki, Hideki: Real number computation with committed choice logic programming languages (2005)
- Ajiro, Yasuhiro; Ueda, Kazunori: Kima: An automated error correction system for concurrent logic programs (2002)
- Ueda, Kazunori: A pure meta-interpreter for Flat GHC, a concurrent constraint language (2002)
- Ueda, Kazunori: Resource-passing concurrent programming (2001)
- Ueda, Kazunori: Linearity analysis of concurrent logic programs (1999)
- Knijnenburg, Peter M. W.; Kok, Joost N.: The semantics of the combination of atomized statements and parallel choice (1997)
- Krishna Rao, M. R. K.; Kapur, D.; Shyamasundar, R. K.: Proving termination of GHC programs. (1997) ioport
- Krishna Rao, M. R. K.; Kapur, D.; Shyamasundar, R. K.: Proving termination of GHC programs. (1997) ioport
- Ariola, Z. M.; Massey, B. C.; Sami, M.; Tick, E.: A common intermediate language and its use in partitioning concurrent declarative programs. (1996) ioport
- Costa, Vitor Santos: Andorra-I compilation. (1996) ioport
- Rokusawa, Katsuaki; Nakase, Akihiko; Chikayama, Takashi: Distributed memory implementation of KLIC. (1996) ioport
- Barklund, Jonas: Bounded quantifications for iteration and concurrency in logic programming (1994)
- Poirriez, V.: MLOG: A strongly typed confluent functional language with logical variables (1994)
- Brogi, Antonio; Ciampolini, Anna; Lamma, Evelina; Mello, Paolo: The implementation of a distributed model for logic programming based on multiple-headed clauses (1992)
- Corradini, Andrea; Montanari, Ugo: An algebraic semantics for structured transition systems and its application to logic programs (1992)