Visual Prolog
Visual Prolog sebelumnya dikenal sebagai PDC Prolog dan Turbo Prolog merupakan bahasa pemrograman prolog yang berorientasi obyek. Sebelumnya, Turbo Prolog dipasarkan oleh Borland, namun saat ini produk tersebut dikembangkan serta dipasarkan oleh perusahaan asal Denmark, Prolog Development Center, yang sejatinya merupakan perusahaan yang mengembangkan Turbo Prolog. Visual Prolog dapat digunakan untuk membuat aplikasi berbasis grafis untuk sistem operasi Microsoft Windows, aplikasi konsol, berkas pustaka .dll, dan program berbasis CGI. Program yang dibuat dengan Visual Prolog juga dapat memanfaatkan komponen COM milik Windows, dan akses database melalui ODBC. Visual Prolog merupakan bahasa pemrograman yang dikompilasi, dan bukan diinterpretasikan oleh sebuah interpreter.
Sejarah versi
Sejak versi 6.0 bahasa prolog telah mendukung secara penuh pemrograman berorientasi obyek.
Versi 7.0 membawa serta fitur polimorfisme parametrik.
Versi 7.2 memperkenalkan predikat anonim, serta namespace.
Versi 7.3 memperkenalkan kelas generik serta interface.
Contoh menara hanoi
Berikut ini merupakan contoh program Menara Hanoi yang diimplementasikan menggunakan bahasa pemrograman prolog.
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, C),
move(N-1, B, A, C).
end implement hanoi
goal
console::init(),
hanoi::hanoi(4).
Bacaan lanjutan
- (Inggris) Thomas W. de Boer, A Beginners Guide to Visual Prolog (English, Chinese)
- (Inggris) Eduardo Costa, Visual Prolog for Tyros
- (Inggris) Russian translation 210 pages (pdf)
- (Inggris) Giovanni Torrero, VISUAL PROLOG PER PRINCIPIANTI Italian 113 pages (pdf)
Lihat pula
References
Pranala luar
- (Inggris) Visual Prolog Home Page
- (Inggris) Language Reference
- (Inggris) Tutorials
- (Inggris) wiki
- (Inggris) discussion forum
- (Inggris) Prolog Development Center