Google News
logo
Prolog - Interview Questions
What is the difference between the "is" and "=" operators in Prolog?
In Prolog, the "is" operator (`is/2`) and the "=" operator (`=/2`) serve different purposes and have distinct functionalities. Here's the difference between these operators :

1. "is" Operator (`is/2`) :
   * The "is" operator is used for arithmetic evaluation in Prolog.
   * It computes the value of an arithmetic expression on the right-hand side and binds it to a variable on the left-hand side.
   * The right-hand side can be any arithmetic expression involving numbers, variables, and arithmetic operators.
   * The left-hand side must be an unbound variable that will receive the result of the arithmetic evaluation.
   * The "is" operator is used to perform arithmetic computations and store the result in a variable.
   * Example : `X is 2 + 3 * Y`

2. "=" Operator (`=/2`) :
   * The "=" operator is the unification operator in Prolog.
   * It is used to check if two terms can be made identical by finding substitutions for variables.
   * It attempts to unify the terms on both sides of the operator by performing pattern matching and variable bindings.
   * It succeeds if the terms can be made identical, and it fails if they cannot be unified.
   * The "=" operator is used for general term unification and pattern matching.
   * Example: `X = 2 + 3 * Y`
Advertisement