Функциональное и логическое программирование

 
0
 
Functional languages
ava
ILyAHA | 14.06.2010, 19:40
Встал такой вопрос. Гугл не очень помогает в нем.

Что общего между функциональным и логическим программированием? И в чем различие в функциональном и логических подходах?

Заранее благодарен за ответ
Comments (5)
ava
kemiisto | 15.06.2010, 00:31 #
Цитата (ILyAHA @  14.6.2010,  19:40 findReferencedText)
Встал такой вопрос. Гугл не очень помогает в нем.

Есть море литературы, даже книг на русском. Я молчу про количество статей. Даже в Педивикии есть статья про каждую парадигму.

Цитата (ILyAHA @  14.6.2010,  19:40 findReferencedText)
Заранее благодарен за ответ

Хороший подход. Если в гугле нет готового ответа, сразу бежим на Форум. Уважаю. smile 

Цитата (ILyAHA @  14.6.2010,  19:40 findReferencedText)
 общего между функциональным и логическим программированием?

И то, и другое, ЧСХ, есть модели (парадигмы) программирования. smile  Можно увидеть и нечто общее, противопоставляя эти две модели третьей, модели императивного программирования...

Цитата (ILyAHA @  14.6.2010,  19:40 findReferencedText)
И в чем различие в функциональном и логических подходах?

В основе этих моделей лежат разные математические теории.

Тебе это зачем надо?
ava
A5uKa | 30.11.2010, 09:05 #
Цитата


разные математические теории


А какая математическая теория у логических языков ? Мне для общего развития  smile 

Цитата


Если в гугле нет готового ответа, сразу бежим на Форум.


Да даже если есть )
ava
Фантом | 01.12.2010, 00:33 #
Цитата (A5uKa @  30.11.2010,  09:05 findReferencedText)


А какая математическая теория у логических языков ? Мне для общего развития

Как правило - исчисление предикатов первого порядка (например, для Пролога это так).
ava
baldina | 03.02.2011, 18:25 #
логическое программирование есть подмножество функционального в том смысле, что логическое основано на аппарате мат. логики и использует резолюции. логика и резолюции суть функции.
например, "прологообразное"

мужчина(иван)
мужчина(петр)
женщина(елена)
женщина(ольга)
родитель(иван,петр)
родитель(иван,ольга)
родитель(елена,петр)
родитель(елена,ольга)
мать(X,Y):-родитель(X,Y),женщина(X)
отец(X,Y):-родитель(X,Y),мужчина(X)

и выглядит и обрабатывается вполне функционально. в частности, переменные отсутствуют как класс.

что касается аппарата, то модель в логическом языке представлена набором утверждений (аксиом, хорновых предложений). это может быть и простое утверждение типа мужчина(иван) и правило вывода типа мать(X,Y):-родитель(X,Y),женщина(X).
логический язык на основе имеющихся утверждений выводит новые утверждения для доказательства теоремы, сформулированной как вопрос к системе:

?мать(елена,X)
X=петр, ольга

таким образом, сформулированная теорема верна (при сопоставлении X с петр или ольга)
ava
k0rvin | 26.02.2011, 21:12 #
Цитата (baldina @ 3.2.2011,  18:25)
логическое программирование есть подмножество функционального

откуда такой вывод? ФП основано на лямбда-исчислении Черча, а ЛП на (например) логике исчисления предикатов первого порядка. у них совсем разные базисы
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
advanced
Submit