ROOP is a
multiparadigm programming language
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
made for
artificial intelligence
Artificial intelligence (AI) is the capability of computer, computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of re ...
(AI) applications, created at
Chengdu University,
China
China, officially the People's Republic of China (PRC), is a country in East Asia. With population of China, a population exceeding 1.4 billion, it is the list of countries by population (United Nations), second-most populous country after ...
. It combines
procedural,
logic or rule-based, and
object-oriented programming
Object-oriented programming (OOP) is a programming paradigm based on the concept of '' objects''. Objects can contain data (called fields, attributes or properties) and have actions they can perform (called procedures or methods and impl ...
techniques.
Features
* ROOP is built directly on
C++, providing full unrestricted access to all its features.
* ROOP, like OPS-83 and ORBS, is
data-driven
Data ( , ) are a collection of discrete or continuous value (semiotics), values that convey information, describing the quantity, qualitative property, quality, fact, statistics, other basic units of meaning, or simply sequences of symbols t ...
but, unlike those languages, rules in ROOP may enter into ''local communication'' and this can be used to dynamically divide them into groups, including the problem status space tree.
* Rules and facts in ROOP are
objects, and they send and respond to
messages just like any other object in the language. This ability is usually unavailable in other logic programming languages such as
Prolog
Prolog is a logic programming language that has its origins in artificial intelligence, automated theorem proving, and computational linguistics.
Prolog has its roots in first-order logic, a formal logic. Unlike many other programming language ...
.
* ROOP's
inference engine
In the field of artificial intelligence, an inference engine is a software component of an intelligent system that applies logical rules to the knowledge base to deduce new information. The first inference engines were components of expert systems ...
can be ''redefined'' in a program, something usually infeasible in other logic languages.
References
{{Reflist
Multi-paradigm programming languages
Object-oriented programming languages
Logic programming languages