Форум программистов, компьютерный форум, киберфорум
Prolog
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
2 / 2 / 1
Регистрация: 19.02.2013
Сообщений: 14

Как настроить Prolog (GNU/Linux)

17.10.2015, 17:45. Показов 2544. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Возникла потребность научится языку Prolog, не не знаю как его настроить для удобной работы.
В репозиториях дистрибутива имеется как gprolog (GNU Prolog), так и swi-prolog. В чём их разница и какой лучше?

Оба интерпретатора функционируют в консоли. Главный вопрос в том, как настроить IDE? В частности интересует вопрос возможно ли настроить работу с языком Prolog через Geany (я им активно пользуюсь). Какие параметры сборки нужно прописать что бы по f5 запускать программу?
Если никак, то какие другие альтернативы есть?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.10.2015, 17:45
Ответы с готовыми решениями:

Увеличить на 1 все элементы списка. GNU Prolog
задание: Определить правило, которое создает новый список, увеличивая на 1 элементы старого списка.. есть код но с ошибкой: ...

Некорректная работа самдельного предиката not, GNU Prolog
В GNU Prolog, на сколько я смогла выяснить, штатного предиката not нет, а по определению он должен выглядеть, как ...

Основные предикаты для работы со списками [GNU Prolog]
Сформулируйте основные предикаты для работы со списками - принадлежит_списку - добавлен_в_список - добавлен_в_конец -...

7
 Аватар для arlat
798 / 601 / 158
Регистрация: 07.10.2013
Сообщений: 1,330
17.10.2015, 18:06
Я по SWI, GNU не использовал. Program Development Tools Под Windows рекомендовано SWI-Prolog-Editor Собственно, SWI-Prolog, там всё достаточно подробно и удобно. SWI-Prolog on Linux distributions

Добавлено через 11 минут
Пробовал на Ubuntu, работает... но чисто экспериментально, реально пишу на SWI-Prolog под Windows.

Добавлено через 2 минуты
Geany для SWI по ходу не прокатит, но к emacs тоже вполне можно приспособиться.
0
2 / 2 / 1
Регистрация: 19.02.2013
Сообщений: 14
18.10.2015, 14:25  [ТС]
Я посмотрел инструкцию, но почему-то у меня всё равно не прокатило с emacs.
Скачал prolog.el скомпилил его (правда повыскакивали какие-то предупреждения) вроде всё сделал по инструкции, но всё равно не распознаёт файл *.pl
0
 Аватар для arlat
798 / 601 / 158
Регистрация: 07.10.2013
Сообщений: 1,330
18.10.2015, 16:52
Цитата Сообщение от Укропчик Посмотреть сообщение
Я посмотрел инструкцию
Эту Guidelines for Linux package managers
The package swi-prolog depends on swi-prolog-nox and swi-prolog-x, providing a good default system that does not introduce many dependencies on a standard workstation environment.
У меня на Ubuntu так и есть вроде, сейчас ещё раз гляну про emacs.
0
 Аватар для arlat
798 / 601 / 158
Регистрация: 07.10.2013
Сообщений: 1,330
18.10.2015, 17:16
вот скриншоты на Ubuntu, если я смог на уровне пользователя, то это возможно
Миниатюры
Как настроить Prolog (GNU/Linux)   Как настроить Prolog (GNU/Linux)  
0
 Аватар для arlat
798 / 601 / 158
Регистрация: 07.10.2013
Сообщений: 1,330
18.10.2015, 19:32
вот, попробовал конкретный пример про движение коня
Кликните здесь для просмотра всего текста
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
move_chess(Figure, Place1, Place2, Path, Count, Max) :-
    retractall( figure_moved(_) ), assertz( figure_moved(0) ),
    retractall( max_moves(_) ), assertz( max_moves(Max) ),
    move_chess(Figure, Place1, Place2, Path, [], Count, 1),
    retractall( figure_moved(_) ), assertz( figure_moved(0) ).
 
move_chess(Figure, Point1, Point2, Path, Track, Count, Count) :-
    move_chess_figure(Figure, Point1, Point2),
    append(Track, [go(Point1, Point2)], Path).
move_chess(Figure, Point1, Point2, Path, Track, Count, Count0) :-
    check_moves,
    move_chess_figure(Figure, Point1, X),
    \+ member(go(X, _), Track),
    append(Track, [go(Point1, X)], Track1),
    Count1 is Count0 + 1,
    move_chess(Figure, X, Point2, Path, Track1, Count, Count1).
 
check_moves :-
    max_moves(Max),
    figure_moved(Moved),
    Moved < Max,
    retract( figure_moved(Move0) ),
    Move1 is Move0 + 1,
    assertz( figure_moved(Move1) ).
 
move_chess_figure(Figure, [X, Y], [X1, Y1]) :-
    legal_chess_point(X, Y),
    rule_chess_figure(Figure, X0, Y0),
    X1 is X + X0, Y1 is Y + Y0,
    legal_chess_point(X1, Y1).
    
legal_chess_point(X, Y) :-
    X >= 1, Y >= 1,
    X =< 8, Y =< 8.
    
rule_chess_figure(knight, 1, 2).
rule_chess_figure(knight, -1, 2).
rule_chess_figure(knight, 1, -2).
rule_chess_figure(knight, -1, -2).
rule_chess_figure(knight, 2, 1).
rule_chess_figure(knight, -2, 1).
rule_chess_figure(knight, 2, -1).
rule_chess_figure(knight, -2, -1).
Миниатюры
Как настроить Prolog (GNU/Linux)   Как настроить Prolog (GNU/Linux)   Как настроить Prolog (GNU/Linux)  

Как настроить Prolog (GNU/Linux)  
0
97 / 78 / 12
Регистрация: 07.06.2015
Сообщений: 132
Записей в блоге: 12
19.10.2015, 11:06
на убунте использовал swi+eclipse
вот тут хороший работающий плагин
0
2 / 2 / 1
Регистрация: 19.02.2013
Сообщений: 14
19.10.2015, 17:34  [ТС]
Спасибо. Но я пробовал по другому - на чистый emacs накатить prolog-mode вот по этой инструкции: http://www.swi-prolog.org/FAQ/GnuEmacs.html
А emacs XPCE запускается нормально.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.10.2015, 17:34
Помогаю со студенческими работами здесь

Определить предикат ==. через arg и functor. GNU prolog
Написать указанные предикаты на языке Пролог, проверить определения, вызвав предикаты в интерпретаторе с разными аргументами. ...

Решение логической задачи на языке Prolog (SWI или GNU)
Здравствуйте, мне нужно решить логическую с использованием Prolog'a, никак не получается решить, помогите, пожалуйста. Заранее благодарен! ...

Матрица с равной суммой чисел. GNU Prolog, в крайнем случае SWI. Устранение ошибки и доведение до работоспособного состояния
Помогите найти ошибки и довести программу до работоспособного состояния. Prolog GNU (нужен именно он) выдает: prog.pl:2:3: syntax...

Prolog для Linux
Помогите найти примеры задач, написанные на Prolog в среде операционной системы Linux, и вообще, какие-либо данные о прологе для этой...

Prolog для Linux
Здравствуйте! Не могли бы вы подсказать, какую среду можно использовать для Ubuntu. Я пробовал swi-prolog , файлы с расширением .pl ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru