Visual Prolog , ранее известный как PDC Prolog и Turbo Prolog , является строго типизированным объектно-ориентированным расширением Prolog . Как Turbo Prolog, он продавался Borland, но теперь он разработан и продается датской фирмой Prolog Development Center (PDC), которая первоначально разработала его. Visual Prolog может создавать приложения с графическим интерфейсом пользователя Microsoft Windows , консольные приложения , DLL ( библиотеки динамической компоновки) и программы CGI . Он также может связываться с COM-компонентами и базами данных с помощью ODBC .
Парадигма | мультипарадигма : логическая , функциональная , объектно-ориентированная , императивная |
---|---|
Разработчик | PDC A / S |
Стабильный выпуск | 10 сборка 1000/15 апреля 2021 г . |
Печатная дисциплина | статичный , сильный , предполагаемый |
Операционные системы | Майкрософт Виндоус |
Лицензия | Проприетарный |
Веб-сайт | www |
Логические языки традиционно интерпретируются , но Visual Prolog компилируется . Это обеспечивает важное улучшение преобразования традиционных ошибок времени выполнения, типичных для Prolog, в предупреждения компилятора, что обеспечивает лучшую надежность готовых приложений.
Ядром Visual Prolog являются предложения Horn , алгебраические типы данных , сопоставление с образцом и управляемый недетерминизм, как в традиционном Prolog, но в отличие от традиционного Prolog, Visual Prolog всегда был строго и статически типизирован .
История
В версии 10 представлены объектные выражения, поддержка процессов «ведущий / ведомый», элемент управления Microsoft Edge webView2 и некоторая поддержка Direct2D + DirectWrite + Windows Imaging Component (см. Также « Новые возможности Visual Prolog 9» ).
Версия 9 представляет ограниченный полиморфизм, предикаты расширений, базы данных фактов без потоковой блокировки и именованные параметры (см. Также Новые возможности Visual Prolog 9 ).
Версия 8 представляет презентаторов для более удобного представления данных в отладчике и запущенной программе (см. Также Новые возможности Visual Prolog 8 ).
Версия 7.5 содержит http-сервер и генератор синтаксического анализатора LALR (1) (см. Также Новые возможности Visual Prolog 7.5 ).
Версия 7.4 может генерировать 64-битный код Windows (см. Также Новые возможности Visual Prolog 7.4 ).
Версия 7.3 представила универсальные классы и интерфейсы (см. Общее программирование ), защищенные мониторы (см. Также Новые возможности Visual Prolog 7.3 ).
Версия 7.2 представила анонимные предикаты (логический элемент анонимных функций ) и пространства имен (см. Также Новые возможности Visual Prolog 7.2 ).
Версия 7.0 представила параметрический полиморфизм .
Начиная с версии 6.0 язык полностью объектно-ориентирован .
Пример Ханоя
В примере с башнями Ханоя механизм вывода Prolog вычисляет, как переместить стопку из любого количества постепенно уменьшающихся дисков, по одному, от левого полюса к правому полюсу описанным способом с помощью центра в виде транзит, чтобы никогда не было диска большего размера поверх диска меньшего размера. Предикат hanoi
принимает в качестве начального аргумента целое число, указывающее количество дисков.
класс hanoi предикаты hanoi : ( беззнаковый N ). конец класса ханой реализовать ханойские домены pole = left ; центр ; правильно . предложения hanoi ( N ) : - переместить ( N , влево , по центру , вправо ). предикаты класса move : ( беззнаковый N , полюс A , полюс B , полюс C ). предложения move ( 0 , _ , _ , _ ) : - !. шаг ( Н , , В , С ) : - шаг ( N - 1 , , С , В ), STDIO : : writef ( "переместить диск из% полюса до% полюса \ N" , , С ), переместить ( N - 1 , B , A , C ). конец орудия Ханой Цель консоли : : INIT (), ханой : : ханой ( 4 ).
Прием
Брюс Ф. Вебстер из BYTE похвалил Turbo Prolog в сентябре 1986 года, заявив, что это был первый продукт Borland, который взволновал его так же сильно, как Turbo Pascal. Ему понравился пользовательский интерфейс и низкая цена, и он сообщил, что два профессора BYU заявили, что он превосходит Prolog, который они использовали в университете. Ставя под сомнение рыночный спрос на язык, Вебстер пришел к выводу, что «Turbo Prolog может стать таким же значительным скачком в разработке программного обеспечения, каким Turbo Pascal представлял три года назад», и рекомендовал его тем, кто «вообще интересуется искусственным интеллектом, базами данных, экспертными системами. , или новые взгляды на программирование ". [1] Другой автор в журнале в том же месяце написал, что нестандартный, более структурированный синтаксис языка делает «списки источников более читабельными, чем стандартные прологи». Заявив, что у него «много хороших функций», он заявил, что «вкус Turbo Pascal в его компиляторе и строгая типизация данных ... создают проблему идентификации для языка». Описав его как «Turbo Paslog», автор пришел к выводу, что он «не рекомендует его, если вы серьезно подумываете о том, чтобы стать программистом на Prolog». [2] В 1989 году журнал включил Turbo Prolog 2.0 в число победителей премии BYTE Awards «Отличие», одобрив то, что Borland «разработала систему для программирования реальных приложений». [3]
Книги о Visual Prolog
- Томас В. де Бур, Руководство по Visual Prolog для начинающих
- Китайский перевод
- Эдуардо Коста, Visual Prolog для Tyros
- Русский перевод
- Китайский перевод
- Джованни Торреро, VISUAL PROLOG PER PRINCIPIANTI, итальянский, 113 страниц (pdf)
- Рэндалл Скотт, Руководство по искусственному интеллекту с визуальным прологом, ISBN 978-1-4327-4936-1
Смотрите также
- Сравнение реализаций Prolog
- Logtalk
- Меркурий (язык программирования)
Рекомендации
- ^ Вебстер, Брюс Ф. (сентябрь 1986 г.). «Два прекрасных продукта» . БАЙТ . п. 335.
- ^ Шаммас, Намир Клемент (сентябрь 1986 г.). «Турбо-Пролог». БАЙТ . п. 293.
- ^ «Награды BYTE» . БАЙТ . Январь 1989 г. с. 327.
Внешние ссылки
- Официальный веб-сайт