Пролог является языком логического программирования общего назначения, который был выпущен еще в 1972 году, с очень мало обновлений с тех пор.
Logtalk был создан, чтобы добавить более современные черты в Прологе, в основном улучшения производительности, лямбда-выражения, грамматические правила, улучшенные ошибки компилятора и предупреждение отчетов.
На вершине этого, добавьте более легкий процесс установки и обновления совместимости компилятор Пролога.
Это делает Logtalk лучшую, более подходящую альтернативу Прологе в современной ИИ и компьютерной лингвистике сценариев, гораздо более мощный язык мульти-парадигмы, подходит для событийного и высокого уровня многопоточности программирования.
синтаксис В настоящее время Logtalk расширяет стандартный синтаксис Пролога и вы можете запустить Logtalk на этих компиляторов Пролога:
B-Prolog
CxProlog
ECLIPSE
GNU Prolog
Lean Пролог
Qu-Prolog
SICStus Пролог
SWI Prolog
XSB
YAP
Что нового в этом выпуске:
- Улучшено:
- Изменения термина теги, используемые при написании скомпилированного кода, чтобы помочь минимизировать размер генерируемых промежуточных файлов Пролога, которые используют эти теги, чтобы решить, когда для украшения скомпилированные термины с данными источника информации о местоположении (в настоящее время, только SWI-Пролог использует преимущества данные о местоположении).
- ИСПРАВЛЕНО:
- Файл может иметь более чем один родительский файл.
Что нового в версии 3.02.2:
- Улучшено:
- Изменения термина теги, используемые при написании скомпилированного кода, чтобы помочь минимизировать размер генерируемых промежуточных файлов Пролога, которые используют эти теги, чтобы решить, когда для украшения скомпилированные термины с данными источника информации о местоположении (в настоящее время, только SWI-Пролог использует преимущества данные о местоположении).
- ИСПРАВЛЕНО:
- Файл может иметь более чем один родительский файл.
Что нового в версии 3.02.1:
- Улучшено:
- Изменения термина теги, используемые при написании скомпилированного кода, чтобы помочь минимизировать размер генерируемых промежуточных файлов Пролога, которые используют эти теги, чтобы решить, когда для украшения скомпилированные термины с данными источника информации о местоположении (в настоящее время, только SWI-Пролог использует преимущества данные о местоположении).
- ИСПРАВЛЕНО:
- Файл может иметь более чем один родительский файл.
Что нового в версии 3.00.4:
- Улучшено:
- Изменения термина теги, используемые при написании скомпилированного кода, чтобы помочь минимизировать размер генерируемых промежуточных файлов Пролога, которые используют эти теги, чтобы решить, когда для украшения скомпилированные термины с данными источника информации о местоположении (в настоящее время, только SWI-Пролог использует преимущества данные о местоположении).
- ИСПРАВЛЕНО:
- Файл может иметь более чем один родительский файл.
Что нового в версии 3.00.2:
- Улучшено:
- Изменения термина теги, используемые при написании скомпилированного кода, чтобы помочь минимизировать размер генерируемых промежуточных файлов Пролога, которые используют эти теги, чтобы решить, когда для украшения скомпилированные термины с данными источника информации о местоположении (в настоящее время, только SWI-Пролог использует преимущества данные о местоположении).
- ИСПРАВЛЕНО:
- Файл может иметь более чем один родительский файл.
Что нового в версии 3.00.1:
- Улучшено:
- Изменения термина теги, используемые при написании скомпилированного кода, чтобы помочь минимизировать размер генерируемых промежуточных файлов Пролога, которые используют эти теги, чтобы решить, когда для украшения скомпилированные термины с данными источника информации о местоположении (в настоящее время, только SWI-Пролог использует преимущества данные о местоположении).
- ИСПРАВЛЕНО:
- Файл может иметь более чем один родительский файл.
Что нового в версии 2.44.1:
- Исправлена ошибка в составлении meta_non_terminal / 1 директива, где только первый мета-аргумент будет правильно обработан.
- Обновленный конфигурационный файл ECLIPSE для обнаружения при работе на Windows 64 бит систем и игнорировать не-предикатные и не оператор экспорта при предварительной обработке Lib / 1 директивы.
- Обновленный модульного тестирования рамки для печати более информативные сообщения для неудачных модульных тестов.
- Добавлен предикат Split / 4 (для разделения списка на подсписков с заданной длиной) к & Quot; listp & Quot ;, & Quot; список & Quot ;, и & Quot; difflist & Quot; библиотечные объекты.
- Обновленный & Quot; CC & Quot; Пример с определением для оболочки / 2 предикат для CxProlog.
- Изменены названия объектов в & Quot; ми & Quot; пример, чтобы избежать конфликта имен при выполнении тестов пример блока.
- Исправлена ошибка в установщик Windows, которая препятствовала обнаружение YAP 64 бит версий. Благодаря Степан Ипатова за сообщение об ошибке.
Что нового в версии 2.44.0:
- Этот выпуск изменяет семантику дополняя категории, что позволяет его использование для исправления существующего кода объекта, исправлены две ошибки в обработке мета-вызовов, позволяет открывать списки терминалов в теле правил DCG, добавляет две новые примеры, а также улучшает поддержку Вим текстового редактора и для обильной Ctags.
Что нового в версии 2.43.3:
- Исправлена ошибка в обработчике Logtalk компилятор во время выполнения где он не декомпилировать внутренние идентификаторы сущностей при броске исключения сущности существования.
- Обновленный Lean конфигурационный файл Пролог, добавляя индекс / 1 директивы для некоторых динамических предикатов, используемых внутренних таблиц Logtalk во время выполнения.
- Обновлены файлы интеграции SWI-Prolog для проверки наличия директивы индекса / 1, который является устаревшим новой экспериментальной поддержки SWI-Пролог для точно в момент индексации нескольких аргументов.
- Добавлена предикаты подпоследовательности / 4 (для создания подпоследовательности списка с заданной длиной), заменить / 4 (для замены элементов в списке), и hamming_distance / 3 в библиотеку & Quot; listp & Quot; и & Quot; список & Quot; юридические лица.
- Добавлена euclidean_norm / 2, chebyshev_norm / 2, manhattan_norm / 2, euclidean_distance / 3, chebyshev_distance / 3, manhattan_distance / 3, и scalar_product / 3 Предикаты в библиотеку & Quot; numberlistp & Quot; и & Quot; Numberlist & Quot; юридические лица.
- Исправлены некоторые глупые ошибки в определении & Quot; символ & Quot; библиотека объектов предикаты is_bin_digit / 1, is_octal_digit / 1, is_dec_digit / 1, и is_hex_digit / 1.
- Обновление библиотеки & Quot; all_loader.lgt & Quot; загрузчик файлов также загрузить & Quot; meta_compiler_loader.lgt & Quot; загрузчик файлов.
Что нового в версии 2.43.2:
- Оптимизирована обработка деклараций оператора при компиляции исходных файлов и динамически создавать новые объекты.
- Обновленный компилятор Logtalk, чтобы использовать & Quot; модули & Quot; Флаг компилятора при тестировании для поддержки модуля Пролога, таким образом, избежать проблем при компиляции с серверными составителей Пролога, которые не поддерживают модульную систему, но до сих пор определяют (:). / 2 в качестве встроенной контрольной конструкции или предиката
- Убрана поддержка & Quot; startup_message & Quot; Флаг компилятора & Quot; флаги (компактные) & Quot; и & Quot; флаги (многословные) & Quot; значения, заменяются одним значением, & Quot; флаги и Quot ;, который соответствует старому & Quot; флаги (компактные) & Quot; значение.
- Исправлена ошибка при использовании OP / 3 директивы с create_protocol / 3, create_object / 4, и create_category / 4 встроенных предикатов, где локальные объявления оператора будут видны за пределами новых объектов.
- Исправлена ошибка, при которой создавая новую динамическую сущность во время выполнения будет определять больше не используется бухгалтерское динамический предикат, который не будет отменено, когда предприятие ликвидируется.
- Исправлена ошибка компилятора, где & Quot; супер & Quot; вызывать из объекта, который только создает экземпляр сам и не специализироваться какой-либо объект будет сгенерировано исключение вместо сбоя.
- Обновленный & Quot; контрольные показатели и Quot; например, для того, чтобы защитить от арифметических исключений при расчете общего количества вызовов в секунду для каждого теста. Уменьшено количество эталонных тестовых повторений при выполнении модульных тестов, чтобы избежать длительного времени вычислений с медленным серверными составителей Пролога.
Что нового в версии 2.43.1:
- Изменен компилятор принимать во внимание использование / 2 директивы при компиляции вызовов на встроенных методов баз данных. Это изменение расширяет семантику применений директивы / 2 и позволяет упростить миграцию от простых приложений Прологе к Logtalk.
- Добавлена экспериментальная поддержка для использования шаблона предикат в качестве аргумента к директиве coinductive / 1. Этот шаблон позволяет определять, какие аргументы имеют смысл для coinductive успеха. На основе подобной функциональностью, найденной на ДРА на мета-интерпретатор Феликса Kluzniak в.
- Улучшена поддержка отладки coinductive предиката при использовании Logtalk встроенного отладчика.
- Удалена поддержка коиндукции для CxProlog. Текущая версия этого компилятора не хватает мягкого нарезанные встроенный предикат или управляющую конструкцию, которая в настоящее время требуется по экспериментальной реализации коиндукции.
- Отменено давнишнюю ограничение, которое предотвратило определение пользователя по оберток предикатами для bagof / 3 и setof / 3 встроенных методов, когда цель аргумент может использовать квантор существования ^ / 2.
- Добавлена поддержка & Quot; ^ & Quot; мета-сказуемое режим мета-аргумент Спецификатор предложил Ян Wielemaker и нашел на SWI-Prolog 5.11.25. Этот режим спецификатор полезен при определении оберток для / 3 и setof / 3 встроенных методов bagof всякий раз, когда цель аргумент может использовать квантор существования ^ / 2.
- Добавлен & Quot; prolog_compiler & Quot; и & Quot; prolog_loader & Quot; флаги компилятора, которые позволяют передать параметры бэкэнде Пролог компилятора встроенные предикаты, которые компилируются на диск и загрузка (составитель) Пролог флаг. Значение по умолчанию для обоих флагов пустой список.
- Исправлена ошибка при компиляции вызовов на Прологе проприетарные встроенные мета-предикатам, где Logtalk компилятор может попытаться обработать не являющиеся мета-аргументы в качестве целей. Эта ошибка проявлялась только с некоторыми серверными составителей Пролога, таких как ECLIPSE.
- Исправлена ошибка при обработке директив условной компиляции.
- Исправлена ошибка, не позволявшая прохождение псевдоним / 3 директивы на вызовах create_object / 4, create_category / 4, и create_protocol / 3 встроенные предикаты.
- удалены из встроенного объекта & Quot; Logtalk & Quot; в decompile_predicate_head / 4 и decompile_predicate_indicator / 4 устаревшие методы.
- убрана поддержка для длинного устаревших Logtalk metapredicate / 1 директивы.
- Исправлена ошибка производительности при кэшировании вызовов в категорию предикатами, где кэшированные данные могли бы быть более конкретным, чем это необходимо при работе с параметрическими категориями.
- Улучшенное кэширование & Quot; супер & Quot; звонки внутри прототипов. Ранее все кэшированные данные будут специализированы по значению & Quot; само & Quot; для того, чтобы должным образом иметь дело с особых случаях, когда объект как конкретизирует и специализируется другие объекты.
- Обновленный Logtalk компилятор, чтобы активировать какие-либо объявления оператора, найденные на предикатных директив области видимости во время компиляции сущностей, которые содержат директивы.
- Улучшена производительность coinductive предикатами при использовании фонами Prolog компиляторы, такие как SICStus Прологе, которые не обеспечивают конструкцию управления мягкой вырезать, но обеспечивают мягкий нарезанные встроенный в мета-предикат (если / 3).
- Исправлена ошибка, когда ложный отчет о компиляции / загрузки предупреждений может быть распечатана, когда исходный файл был скомпилирован / загружен с флагом компилятора & Quot; отчет & Quot; выключен.
- Добавлен & Quot; streamvars & Quot; объект библиотеки, полученный из существующей & Quot; assignvars & Quot; библиотека категории, показывая поддержку для добавления и извлечения терминов (которые могут быть переменными) из & Quot; поток & Quot; переменная.
- Обновленный & Quot; коиндукции & Quot; Например, воспользовавшись расширенной coinductive директивы / 1 и расширение числа отдельных примеров, которые могут быть запущены с помощью SICStus Пролог. Добавлена модель проверки пример, используя коиндукции, coroutining и ограничения.
- Обновленный & Quot; metapredicates & Quot; Пример с примерами кода, иллюстрирующий, как определить обертками для / 3 и setof / 3 встроенных методов bagof, когда мета-аргумент может содержать экзистенциально квалифицированных переменных.
- Обновленный & Quot; CC & Quot; Например, исправляя предикатные определения для нескольких серверных компиляторов Пролога и добавление некоторых основных модульных тестов.
- Обновленный & Quot; кодировок & Quot; Пример с ограниченной поддержкой Lean Прологе.
- Добавлены недостающие записи для meta_non_terminal директивы / 1 и для вызова // N нетерминалу к & Quot; помочь & Quot; Пример.
- Добавлен парсер для PDDL 3.0 файлов, внесенный Робертом Sasak.
- Добавлена поддержка сворачивания кода в текстовом редакторе SubEthaEdit. Добавлен код складной поддержки условной компиляции блоков в текстовые редакторы Kate, Vim и TextMate.
- Обновлен установщик Windows для того, чтобы поддерживать Lean Пролог и обнаружить Яп 64 бит версии.
<Литий> Обновленный сценарии интеграции для того, чтобы загрузить файл библиотеки пути перед загрузкой Logtalk компилятора / среды выполнения. Это изменение направлено на упрощение загрузки библиотеки и файлы примеров из файлов настроек. Кроме того, также искать каталог установки Logtalk в $ HOME / акцию, когда переменная окружения LOGTALKHOME не определена.
Что нового в версии 2.43.0:.
- Добавлена экспериментальная поддержка Lean Прологе
- Убрано ограничение Logtalk компилятор, который заставил несмежные / 1 и динамические / 1 директивы предварить вызовы заявленному предикатами.
- Улучшенный отчет Logtalk составитель орфографическими звонков на нетерминалов в правилах грамматики.
- Разрешить использование:. Контроль / 1 строится на теле грамматических правил
- При отладке сообщений, указанных в директивах использует 2 /, сообщение теперь печатается неявно квалифицируется как в исходном коде, написанном пользователем.
- Изменены внутренние предикаты, используемые при осуществлении встроенных многопоточных предикатами для того, чтобы облегчить интеграцию с инструментами отладки высокого уровня, которые требуют декомпиляции сгенерированного кода Прологе.
- Исправлена ошибка в библиотеке поддержки модульных тестов, & Quot;. Lgtunit & Quot ;, где тестирование исключений будет принимать любой термин исключения в соответствии с модульного тестирования спецификации
- Обновленный & Quot; CC & Quot; Пример с исправлением ошибок и улучшений Затмения способствовало Иоахимом Шимпф с исправленной ошибкой для реализации SWI-Пролог в expand_path / 2 предикат (в результате последних изменений в SWI-Prolog absolute_file_name / 3 встроенный предикат), а также с определение для command_line_arguments / 1 предикат для B-Пролога.
- Обновленный & Quot; коиндукции & Quot; Например, добавление еще некоторые отдельные примеры.
- Обновленный & Quot; XML_Parser & Quot; Вклад в целях, чтобы обойти проблемы с переносимостью с GNU Prolog.
- Правильно ошибка в некоторых скриптах, где & Quot; # / бен / Баш & Quot; использовали вместо & Quot; #! / bin / Баш & Quot ;. Благодаря Yiorgos Адамопулос для отчета об ошибке.
- Обновленный Inno Setup GUI Windows, установки скрипта для того, чтобы обеспечить полную установку пользователями без прав администратора.
- Добавлена поддержка окраски синтаксиса для директивы ISO Prolog включают / 1 для всех поддерживаемых текстовых редакторов и синтаксиса подсветок.
- Исправлены некоторые ошибки на вкладке триггеров для фрагментов Gedit Logtalk, которые препятствовали их использование.
- Изменено назад к использованию XEP вместо ФОП при генерации PDF-версии пользователя и справочных руководств, как ФОП обрезает содержимое некоторых страниц.
Что нового в версии 2.42.4:
- Добавлена entity_prefix 2 предикат / и два набора коммунальные предикаты, decompile_predicate_heads / 2-4 и decompile_predicate_indicators / 2-4, к & Quot; Logtalk & Quot; встроенный объект. Маркировал decompile_predicate_head / 4 и decompile_predicate_indicator / 4 в качестве осуждается.
- Добавлена поддержка для сохранения информации о возможности для операторов, объявленных с помощью директив области видимости во время компиляции. Добавлена информация о лице объявил операторов к XML документирующего файлов. Обновлены текст, PDF и (X) HTML-сценарии преобразования для распечатки информации оператора.
- Прикладные несколько оптимизаций низкого уровня к Logtalk компилятора / выполнения.
- Переехал внутренние предикаты, которые конструируют и получить доступ к контексту выполнения предикат от компилятора в файлах конфигурации Пролога, чтобы поддержать тонкую настройку производительности, которое Пролог компилятор зависит.
- Обновленный реализация резьбовой / 1 многопоточном встроенный предикат для того, чтобы использовать небольшую оптимизацию производительности на основе term_variables / 2 встроенных предикатов, предложенных Тимон Ван Overveldt. Такая оптимизация направлена на сокращение ненужного копирования и унификации терминов. Кроме того, заменить использование setup_call_cleanup / 3 встроенных предиката с уловом / 3 встроенных предиката путем упрощения обработки как ведущего и ведомого нитей, что также повышает производительность.
- Исправлена ошибка в реализации резьбового / 1 многопоточном встроенный предикат, где отказ пользователем, чтобы задать независимые цели при попытке использовать независимый и параллелизм может привести к зомби-потоков.
- Более информативные термины исключение при попытке объявить синхронизированный предикат как динамические или динамический предикат, как синхронизируются.
- Обновленный конфигурационный файл XSB в целях поддержки компиляции модулей в качестве объектов. Добавлено определение пропавшего setup_call_catcher_cleanup / 4 встроенных предиката. XSB 3.3 (или более поздней версии) теперь требуется для совместимости с Logtalk.
- Обновленный конфигурационный файл SWI-Пролог для того, чтобы обеспечить ограниченную поддержку arithmetic_function / 1 патентованного директивы (арифметические функции компилировать как глобальные, а не как локальными по отношению к объектам или категорий, определяющих их).
- Обновленный конфигурационный файл YAP для того, чтобы игнорировать / 1 директиву style_check и интерпретировать yap_flag 2 директиву / как директива set_prolog_flag / 2.
- Изменено процессор XSL-FO по умолчанию (используется для генерации PDF-версии пользователя и справочных руководств) от XEP к FOP.
- Обновленный & Quot; XML_Parser & Quot; Вклад в целях, чтобы обойти проблемы с переносимостью с Qu-Prolog, SICStus Прологе и XSB.
- Обновленный & Quot; кодировок & Quot; например, для того, чтобы гарантировать, что нет никаких пробелов перед кодированием / 1 директивы.
- Обновленный & Quot; attvars & Quot; например, для того, чтобы поддержать B-Prolog и XSB. Также добавлена поддержка использования приписываемые переменных внутри Logtalk параметрических объектов и параметрических категорий. Благодаря Яна Wielemaker, Ватор Сантос Коста, и Барт Demoen для обратной связи и реализации предложений.
- Обновленный & Quot; профайлеры & Quot; Пример с предварительной поддержкой изменений к выполнению профилирования в SICStus Пролог версии 4.2.
- Обновленный & Quot; расширение & Quot; Пример с большим количеством примеров кода о том, как объединить и определения перспективу, цель-расширения от различных объектов крючков.
- Обновленный & Quot; коиндукции & Quot; Например, добавление экспериментальной keysort / 2 coinductive предикат. Благодаря Яна кошель за предложение.
- Обновленный & Quot; Tak & Quot; многопоточность пример, в котором отсутствует сокращение приведет к быстро исчерпать локальный стек при использовании SWI-Пролог в связи с созданием очень большого числа ненужных точек выбора.
- Обновленный & Quot; mtbatch & Quot; многопоточность пример для того, чтобы обеспечить расширенную бенчмаркинг в & Quot; Tak & Quot; Пример.
- Обновленный portfile MacPorts и сценарий, который обновляет его, чтобы удалить вычисление контрольной суммы MD5, которая постепенно сокращается с помощью MacPorts.
- Обновленный Inno Setup GUI Windows, установки скрипта для того, чтобы обойти ошибку на монтажников SWI-Пролог Windows, где процедура удаления не в состоянии удалить ключи SWI-Prolog из системного реестра Windows.
Что нового в версии 2.42.3:
- Разрешить динамические предикаты, объявленные в категории называться в & Quot; это & Quot; внутри категории. В предыдущих версиях, такие вызовы приведет к ошибке времени компиляции, заставляя эти предикаты быть обвиненными в & Quot; самости & Quot; (С использованием сообщения :: / 1 отправка управления конструкции).
- Поддержка компилятор Добавлен Logtalk для предварительно скомпилированных головок пункта (с использованием {} управления конструкт / 1). Эта функция наиболее полезна при использовании механизма терм-расширения.
- Исправлена ошибка в коде, который упрощает пункты предикатные, порожденные составлением правил грамматики. Код будет цикл, когда правило грамматики содержит мета-переменную, которую Logtalk компилятор должен (но в настоящее время не имеют) отчет как незаконное (конструкция вызова / 1 управления следует использовать вместо того, чтобы по этому делу).
- Упрощенная компиляция вызовов в контексте псевдо-объекта & Quot; пользователь & Quot;.
- Добавлена команда отладчика & Quot; р & Quot; к Logtalk встроенного отладчика. Эта команда печатает текущая цель с помощью печати / 1 предикат если таковые имеются. Переименован команду отладчика & Quot; Q & Quot; на & Quot; Q & Quot ;. Исправлена ошибка, при которой команда отладчика & Quot; W & Quot; не будут признаны. Измененный команду отладчика & Quot; d & Quot; процитировать сроки, когда это необходимо.
- Добавлена частичная реализация ISO Prolog predicate_property / 2 предикат в конфигурационный файл ECLIPSE.
- Обновленный конфигурационный файл SWI-Пролог, чтобы удалить ошибочное заявление библиотеки мета-предикатами dde_register_service / 2, время / 1, и когда / 2, как встроенные мета-предикатами.
- Применяется исправление ошибки к & Quot; флаги & Quot; Вклад предоставлены автором, Theofrastos Mantadelis. Временное решение проблемы совместимости с GNU Prolog.
- Добавлен memberchk / 2 предикат в библиотеку & Quot; SETP & Quot; протокол и & Quot; установить & Quot; объект. Добавлены предикаты is_control / 1, is_newline / 1, и is_end_of_line / 1 к библиотеке & Quot; characterp & Quot; и & Quot; символ & Quot; юридические лица.
- Добавлен экспериментальный пример использования приписываемые переменных в объектах и категориях Logtalk. В настоящее время требуется использование ПЕА или SWI-Prolog в качестве серверной Пролога компилятора.
- Добавлена поддержка indexicals к & Quot; ограничений / sicstus & Quot; Пример.
- продлила & Quot; делегаты & Quot; Пример с реализацией образец доверителя с использованием параметрического объекта.
- продлила & Quot; dynpred & Quot; например, для того, чтобы проиллюстрировать, как определить категорию предикаты, которые обрабатывают динамические предикаты в контексте & Quot; это & Quot; и в контексте & Quot; самости & Quot;.
- Добавлен wall_time / 1 предикат к & Quot; см & Quot; Пример.
- Обновленный подсветка синтаксиса тестовых файлов, добавляя отсутствующие истинные / 0 и потерпеть неудачу / 0 управляющих конструкций.
Что нового в версии 2.42.2:
- Обновленный Logtalk компилятор для того, чтобы позволить проверки модуль предикатные свойства без необходимости импорта предикаты в & Quot; пользователь & Quot; (Обратите внимание, однако, что модуль должен быть загружен еще до компиляции исходных файлов При вызове модуля предикаты).
- Обновленный компилятор Logtalk для проверки во время компиляции инстанцированы аргументы закрытия по вызову / 2-N для целей распространенных ошибок программирования.
- Обновленный Logtalk компилятор, чтобы генерировать предупреждения для лямбда-выражений с переменными, которые не определяются как свободных переменных или параметров лямбда или с переменными, которые объявлены в обоих свободных переменных и параметров лямбда. Благодаря Jan кошель, предложившего эти проверки готовности к работе.
- Обновленный Logtalk выполнения для того, чтобы поддерживать с помощью & # x3c; & # x3c; / 2 управления построить в закрывающих мета-аргументы мета-предикатами .
- Добавлена поддержка для компиляции Free / Goal лямбда-выражения вызовов (путем автоматической генерации вспомогательный предикат по возможности).
- Добавлен compile_aux_clauses / 1 открытый метод, основанный на предиката с тем же именем в SWI-Пролог, к встроенным объектом & Quot; Logtalk & Quot ;. Этот метод обычно вызывается из goal_expansion / 2 крючков с целью сбора вспомогательных положений, сгенерированные для поддержки расширенной цели.
- Добавлена мета-предикат игнорировать / 1, реализованный некоторыми составителей Пролога как встроенный предикат, как встроенный метод Logtalk.
- Обновленный конфигурационный файл SWI-Пролог, чтобы предотвратить автоматическую загрузку библиотек модулей при запросе предикатные свойства из Logtalk.
- Обновленный Qu-Prolog, SICStus Пролог и конфигурационные файлы XSB для того, чтобы имеющийся предикат term_variables / 2 в качестве встроенного предиката ISO.
- Обновление сценариев интеграции Qu-Prolog для того, чтобы удвоить значение размера кучи для компиляции Logtalk компилятора / среды выполнения, решая аварии при запуске.
- Восстановленная команда-файл MacOS X для GNU Prolog (переместилась с & Quot; скрипты / MacOSX / command_files / необслуживаемых & Quot; папки).
- Добавлена предикаты findall_member / 4-5 к объекту библиотеки & Quot; мета & Quot; (На основе проекта Пролога библиотеки предложению Ричарда О'Киф в). Удалены объявление и определение предикатов с правом отзыва / 1 и игнорировать / 1 из библиотеки субъектов & Quot; МЕТАП & Quot; и & Quot; мета & Quot; (Вызываемая / 1 является встроенный предикат во всех поддерживаемых компиляторов Пролога, игнорировать / 1 является теперь Logtalk встроенный метод) .
- Добавлен объект библиотеки, & Quot; meta_compiler & Quot ;, который может быть использован в качестве объекта крючками для расширения вызовов на мета-предикатов, определенных в объекте библиотеки & Quot; мета & Quot; для того, чтобы избежать накладных расходов мета-вызовов. В тех случаях, когда вызов мета-предикат не могут быть оптимизированы, определение по умолчанию на & Quot; мета & Quot; используется объект. Использование управляющих конструкций в качестве мета-аргументов не поддерживается (пока). Работа продолжается.
- Добавлен протокол, & Quot; loggingp & Quot ;, и категория и объект реализации, & Quot; протоколирование & Quot; и & Quot;. Регистратор & Quot ;, объявления и определения базовой функциональности для ведения журнала событий в файлы в библиотеку
- Добавлен протокол, & Quot; intervalp & Quot ;, и объекта, & Quot; интервал & Quot ;, объявления и определения основных временных отношений интервалов в библиотеку (на основе работы Джеймс Ф. Аллен Interval алгебры) .
- Добавлена категория реализации названных целочисленных счетчиков, & Quot;. Счетчики & Quot ;, в библиотеку
- Добавлены предикаты proper_prefix / 2 и proper_suffix / 2 библиотеки субъектов & Quot; listp & Quot ;, & Quot; список & Quot ;, и & Quot; difflist & Quot;.
- Добавлен предикат транспонировать / 2 к объекту библиотеки & Quot; пар & Quot;.
- Добавлены два псевдо-примеры для целей тестирования, & Quot; lambdas_compiled & Quot; и & Quot; metapredicates_compiled & Quot ;, которые делают использование нового объекта библиотеки
- & Quot; meta_compiler & Quot;.
- Обновленный & Quot; расширение & Quot; например, для того, чтобы проиллюстрировать, как определить и объединять объекты крюк.
- Добавлена поддержка использования пакета SyntaxHighlighter (версии 3.0.83 или более поздней версии) Алекс Горбачевым с исходным кодом Logtalk.
- Добавлен недостающий синтаксиса окраска еще / 0 директива условной компиляции для поддержки GNU Source-изюминкой выделения информации на экране.
- Добавлено примечание на поддержку редактирования текста Logtalk доступны на бесплатной MacOS X Kod текстовом редакторе.
- Добавлена поддержка синтаксиса раскраски для нового игнорировать / 1 встроенный метод для всех поддерживаемых текстовых редакторов и синтаксиса подсветок.
Что нового в версии 2.42.1:
- Добавлена поддержка Logtalk компилятора для обнаружения и отчетности отсутствуют динамические / 1 и несмежные / 1 предикатные директивы.
- Добавлен новый флаг ворса, & Quot; missing_directives & Quot ;, со значением по умолчанию & Quot; предупреждение & Quot ;, ко всем файлам конфигурации. Этот флаг позволяет выполнять печать предупреждений компилятора для отсутствующих динамических / 1, несмежные / 1, и многофайловым / 1 предикатные директивы.
- Добавлена поддержка новых индикаторов режима шаблон мета-предикат: (/) для индикатора предиката, [/] для списка предикатных показателей, и [0] для списка целей .
- Исправлена ошибка в Logtalk компилятора при проверке мета-предикатные оговорка головы на наличие ошибок где в & Quot; :: & Quot; Индикатор режима мета-аргумент еще интерпретируется как & Quot; 0 & Quot;.
- Исправлена ошибка в обработке закрытия (в мета-вызовов), которые используются для построения вызовов для управления конструкции или встроенные предикаты, которые могут привести к вызове некоторых мета-аргументы в неправильном контексте. Благодаря Ulrich Neumerkel для примера, иллюстрирующего в списке рассылки SWI-Пролога.
- Обновленный компилятор Logtalk, чтобы избежать предупреждений печати о пропавших без ссылки на & Quot; расширяющейся & Quot; и & Quot; мониторинг & Quot; встроенные протоколы при компиляции модулей в качестве объектов.
- Отменены изменения в версии 2.39.2, что позволило псевдо-объект & Quot; пользователь & Quot; практически содержать определение всех Прологе встроенных предикатов. Это может привести к различным результатам в зависимости от серверной Пролога компилятора, особенно при вызове мета-предикаты в контексте & Quot; пользователь & Quot;.
- Исправлена ошибка в SWI-Prolog & Quot; swihooks.lgt & Quot; Файл, который привел к фальшивке сообщение об ошибке о недопустимом Logtalk флаг при обращении файл Прологе, когда есть исходный файл Logtalk с тем же именем в том же каталоге.
- Добавлена поддержка недостающее собственной встроенной в мета-предикатами к B-Prolog, SICStus Прологе, SWI-Пролог, XSB и YAP конфигурационных файлов.
- Обновленный SICStus Пролог, SWI-Prolog и YAP конфигурационных файлов для того, чтобы переопределить мета-сказуемое шаблоны для консультации / 1 и load_files / 2 встроенных предиката.
- Добавлена реализацию map_reduce / 5 мета-предикат к объекту библиотеки & Quot; мета & Quot;.
- Добавлена реализация command_line_arguments / 1 предикат к & Quot; см & Quot; Пример.
- Обновленный & Quot; лямбды & Quot; и & Quot; metapredicates & Quot; примеры, иллюстрирующие, как вычислить числа Фибоначчи, используя кратную левую мета-предикат. Обновленный & Quot; metapredicates & Quot; Пример с примером использования в map_reduce / 5 мета-предикат.
- Обновленный & Quot; problog & Quot; Например, добавление предварительная поддержка нового синтаксиса аннотированных дизъюнкции.
- Добавлен & Quot; магия & Quot; элемент к мим типа файла Logtalk для freedesktop.org поделилась мим-инфо базы данных.
Что нового в версии 2.42.0:.
- Добавлена реализация стойких флагов объектов
- Добавлена новая пара встроенных предикатами, conforms_to_protocol / 2-3, реализуя транзитивное замыкание отношения реализации протокола.
- Добавлена экспериментальная директива, аннотаций / 1, для поддержки интеграции Logtalk с другими языками, такими как ProbLog и CHR.
Комментарии не найдены