Визуальный Пролог
![]() | |
Парадигма | мультипарадигмальность : логическая , функциональная , объектно-ориентированная , императивная , декларативная , универсальная , параллельная. |
---|---|
Разработчик | ПДК А/С |
Стабильная версия | 11 корпус 1105
/ 11 января 2024 г |
Дисциплина набора текста | статический , сильный , предполагаемый |
ТЫ | Окна |
Лицензия | Собственный |
Веб-сайт | www |
Visual Prolog , ранее известный как PDC Prolog и Turbo Prolog , представляет собой строго типизированное объектно-ориентированное расширение Prolog . Он продавался компанией Borland как Turbo Prolog (версия 1.0 в 1986 году и версия 2.0 в 1988 году). Сейчас он разрабатывается и продается датской фирмой PDC, которая первоначально его создала. Visual Prolog может создавать приложения Microsoft Windows с графическим интерфейсом пользователя , консольные приложения , DLL (динамически подключаемые библиотеки) и CGI -программы. Он также может связываться с COM-компонентами и базами данных посредством ODBC .
Visual Prolog содержит компилятор , который генерирует x86 и x86-64 машинный код . В отличие от стандартного Пролога, программы, написанные на Visual Prolog, являются статически типизированными . Это позволяет обнаруживать некоторые ошибки во время компиляции, а не во время выполнения.
История
[ редактировать ]Версия | Новые возможности |
---|---|
Версия 11 | вводит предикаты приостановки для асинхронного программирования [1] |
Версия 10 | представляет объектные выражения, поддержку главных/подчиненных процессов, элемент управления Microsoft Edge webView2 и некоторую поддержку Direct2D + DirectWrite + Windows Imaging Component . [2] |
Версия 9 | вводит ограниченный полиморфизм, предикаты расширения, потокобезопасные базы данных фактов без блокировки, именованные параметры. [3] |
Версия 8 | вводятся презентаторы для более удобного представления данных в отладчике и работающей программе. [4] |
Версия 7.5 | содержит http-сервер и генератор парсера LALR(1). [5] |
Версия 7.4 | может генерировать 64-битный код Windows. [6] |
Версия 7.3 | введены универсальные классы и интерфейсы (см. Универсальное программирование ), защищенные мониторы . [7] |
Версия 7.2 | введены анонимные предикаты (логическое дополнение к анонимным функциям ) и пространства имен. [8] |
Версия 7.0 | введён параметрический полиморфизм . |
Начиная с версии 6.0 | язык был полностью объектно-ориентированным . |
пример Ханоя
[ редактировать ]В примере с Ханойскими башнями машина вывода Пролога определяет, как переместить стопку из любого числа постепенно уменьшающихся дисков, по одному, от левого полюса к правому полюсу описанным способом с помощью центра, как транзит, чтобы никогда не было диска большего размера поверх меньшего диска. Предикат hanoi
принимает целое число, указывающее количество дисков, в качестве начального аргумента.
class hanoi
predicates
hanoi : (unsigned N).
end class hanoi
implement hanoi
domains
pole = left; center; right.
clauses
hanoi(N) :- move(N, left, center, 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).
Прием
[ редактировать ]Брюс Ф. Вебстер из BYTE похвалил Turbo Prolog в сентябре 1986 года, заявив, что это был первый продукт Borland, который взволновал его так же, как Turbo Pascal. Ему понравился пользовательский интерфейс и низкая цена, и он сообщил, что два профессора BYU заявили, что он превосходит Пролог, который они использовали в университете. Ставя под сомнение рыночный спрос на этот язык, Вебстер пришел к выводу, что «Turbo Prolog может стать таким же значительным шагом в разработке программного обеспечения, как Turbo Pascal, представленный три года назад», и рекомендовал его тем, «кто вообще интересуется искусственным интеллектом, базами данных, экспертными системами». или новые способы мышления о программировании». [9] Другой автор журнала в том же месяце написал, что нестандартный, более структурированный синтаксис языка делает «списки исходных текстов гораздо более читабельными, чем списки стандартного Пролога». Заявив, что у него «много хороших функций», он заявил, что Turbo Prolog «разновидность Turbo Pascal в его компиляторе и строгая типизация данных ... создают проблему идентичности для языка». Описывая его как «Турбо-Паслог», автор пришел к выводу, что «не рекомендует его, если вы серьезно подумываете о том, чтобы стать программистом на Прологе». [10] В 1989 году журнал включил Turbo Prolog 2.0 в число лауреатов премии BYTE Awards с отличием, одобрив то, как Borland «разработала систему для программирования реальных приложений». [11]
Книги о Visual Prolog
[ редактировать ]- Томас В. де Бур, Руководство для начинающих по Visual Prolog
- Эдуардо Коста, визуальный пролог для Tyros
- Джованни Торреро, ВИЗУАЛЬНЫЙ ПРОЛОГ ДЛЯ НАЧИНАЮЩИХ, итальянский, 113 страниц (pdf)
- Рэндалл Скотт, Руководство по искусственному интеллекту с помощью Visual Prolog, ISBN 978-1-4327-4936-1
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Новые возможности Visual Prolog 11
- ^ Visual Prolog 10 новых функций
- ^ Новые возможности Visual Prolog 9
- ^ Новые возможности Visual Prolog 8
- ^ Новые возможности Visual Prolog 7.5
- ^ Visual Prolog 7.4 Новые возможности
- ^ Новые возможности Visual Prolog 7.3
- ^ Новые возможности Visual Prolog 7.2
- ^ Вебстер, Брюс Ф. (сентябрь 1986 г.). «Два прекрасных продукта» . БАЙТ . п. 335.
- ^ Shammas, Namir Clement (September 1986). "Turbo Prolog". BYTE . p. 293.
- ^ «Награды BYTE» . БАЙТ . Январь 1989 г. с. 327.
Внешние ссылки
[ редактировать ]- Языки программирования на основе классов
- Программное обеспечение Борланд
- Компиляторы и интерпретаторы
- Интегрированные среды разработки
- Мультипарадигмальные языки программирования
- Семейство языков программирования Пролог
- Функционально-логические языки программирования
- Объектно-ориентированные языки программирования
- Статически типизированные языки программирования
- Инструменты программирования для Windows
- Языки программирования