golosptic: (Default)
golosptic ([personal profile] golosptic) wrote2004-01-09 02:12 am

(no subject)

А вот кто меня может просветить. Внятно. По возможности - ссылками на РУССКОЕ объяснение современных концепций,
принятых во функциональных языках программирования. А то я в своём развитии далее ЛИСПа и переводной книжки по ПЛЭННЕРУ не пошёл - а тут проект намечается, где, судя по всему в качестве инструмента будет уместен именно функциональный язычек какой-то.

Сомневаюсь, что есть перетолкования.

[identity profile] volodymir-k.livejournal.com 2004-01-08 11:19 pm (UTC)(link)
Функциональные вообще довольно сложные для восприятия.

Основная идея -- что объекты неизменны. Напрочь. А изменение получается созданием нового из данных существующего.

Вторая идея -- что программы тоже есть объекты. В натуре. Так же, как есть неназванные объекты, могут существовать неназванные (и вообще толко что созданные) программы. И мы их можем применять к существующим данным (а можем и формально комбинировать - то есть создавать новые программы, комбинируя и анализируя существующие).

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

Тема очень глубока. Я читал и классический Лисп одного финна, и стогий компромисс ГайСтила, и полупроцедурный бред от Столмэна, и знаменитую по Прологу от Ивана Братко, и смежные, полуСмолтоковую, переводную с японского -- про смолток-процессор Катану, и работы японцев, особенно ?Джона, что ли, Шапиро 1985 года по параллельному Прологу, и борландовский ужас около Пролога, и полуалгебраический труд по лямбда-функциям, их замыкании, классах и замыкании классов. По плэннеру вроде припоминаю книжку 1978 вроде года, эдакий недолисп с загнутыми пальцами кортежей.

Обращайтесь. Здесь.

Re: Сомневаюсь, что есть перетолкования.

[identity profile] krf.livejournal.com 2004-01-09 02:35 am (UTC)(link)
Я когда-то интересовался Прологом (не профессионально). Наколько я помню, он не причислялся к функциональным языкам, т.к. основывается не на лямбда-функциях, а на исчислении предикатов. По-моему он назывался просто логическим (и у Братко, и у Шапиро)

Re: Сомневаюсь, что есть перетолкования.

[identity profile] volodymir-k.livejournal.com 2004-01-10 01:27 am (UTC)(link)
Пролог -- конечно! Предикаты, никаких лямбд!
В функциональных никакого сопоставления. Вообще, с точки зрения Вечного Пролога -- функциональные языки есть грязная проститутство.

Но. Идея набора (массива) как списка-структуры (ДВУХЧЛЕННОЙ) -- от Лиспа идёт. Забавно!

Re: Сомневаюсь, что есть перетолкования.

[identity profile] potan.livejournal.com 2004-01-12 01:18 am (UTC)(link)
Есть функциональный язык Рефал, который так же не основан на лямбда-исчислении.
Функциональное программирование основанно на понятии функции - единственный результат которой содерится в возвращаемом значении, которое определено однозначно.
Пролог (и некоторые другие языки - Mercurry, Curry) основан на более общем понятии - отношения.
И функциональное, и реляционное программирование иногда называют декларативным, подчеркивая его отличие от императивного.

Re: Сомневаюсь, что есть перетолкования.

[identity profile] golosptic.livejournal.com 2004-01-09 12:58 pm (UTC)(link)
Да почти все перечисленные источники мне тоже знакомы, и концептуально со старым у меня проблем нет. Но дело в том, что последняя из перечисленных Вами книг появилась году так в 87, кажется (в оригинале) - т.е., есть у меня подозрение, всё это мохом уже поросло. А вот что нового было разработано на данном направлении в 90ые и 2000ые годы - я не знаю :(