Visual Prolog

From Wikipedia, the free encyclopedia

Visual Prolog, also formerly known as PDC Prolog and Turbo Prolog, is a strongly typed object-oriented extension of Prolog. As Turbo Prolog it was marketed by Borland, but it is now developed and marketed by the Danish firm Prolog Development Center (PDC) that originally produced it.

Visual Prolog is compiled rather than interpreted, as is traditional for logic languages.

The core of Visual Prolog are Horn clauses like in Prolog, but unlike Prolog, Visual Prolog has always been strongly and statically typed. Since version 6.0 the language has been fully object-oriented, and in version 7.0 parametric polymorphism was introduced.

[edit] Hanoi Example

class hanoi 
   predicates 
       hanoi : (unsigned N). 
end class hanoi 
 
implement hanoi 
   domains 
       pole = string. 
 
   clauses 
       hanoi(N) :- move(N, "left", "centre", "right"). 
 
   class predicates 
       move : (unsigned N, pole A, pole B, pole C). 
   clauses 
       move(0, _, _, _) :- !. 
       move(N, A, B, C) :- 
           move(N-1, A, C, B), 
           stdio::writef("move a disc from % pole to the % pole\n", A, B), 
           move(N-1, C, B, A). 
end implement hanoi 
 
goal 
   console::init(), 
   hanoi::hanoi(4).

[edit] External links

[edit] See also


Preceding: Prolog
Subsequent: none