LINUX.ORG.RU

Haskell дизайн языка


0

0
Сразу скажу, не для языкового флейма запостил это.

Интересуюсь, что почитать по дизайну языка, не учебник, а нечто похожее на работу "Дизайн и эволюция языка C++" - эта книга проясняет чем руководствовались при принятии тех или иных решений дизайна, какая цена и как стоит (не)использовать возможность языка.

Применительно к Haskell это уже вылилось в жутко раздражающий и странный прикол с добавлением элемента к списку - в начало или конец списка - честно говоря, не совсем понятно чем руководствовались создатели языка что цена операции разная (кроме возможного предпочтения разработчика языка к обработке списка с конца или начала); ну и с точки зрения чисто функционального языка - почему было принято решение полностью выкинуть итерационное программирование, которое всё равно можно сымитировать списком функций.

Надеюсь, общая мысль вопроса ясна. Что почитать на эту тему?

★★★
ИМХО, тебе нужно введение в ФП, особенно в lazyness.

Но посмотри на всякий случай "A history of Haskell: being lazy with class".

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner
> Но посмотри на всякий случай "A history of Haskell: being lazy with class".

Спасибо, интересная статья.

Spectr ★★★
() автор топика
Ну как чем? Ленивостью, например. Хвост списка может быть ещё не вычислен, так что мы даже не знаем пока, конечный ли это список.

> почему было принято решение полностью выкинуть итерационное программирование

Кого?

Miguel ★★★★★
()
Ответ на: комментарий от Miguel
>> Кого?

Наверное имеются ввиду всякие for, while и пр. циклы.

cathode
()
Ответ на: комментарий от Miguel
> Ну как чем? Ленивостью, например. Хвост списка может быть ещё не вычислен, так что мы даже не знаем пока, конечный ли это список.

Действительно. Значит, больше проверок производится.

> Кого?

сорри, императивное.

Спасибо за линки, буду изучать.

Spectr ★★★
() автор топика
Ответ на: комментарий от Spectr
>> сорри, императивное.

Не выкинули его. Во-первых есть всякие unsafe* функции, а во-вторых есть монады, позволяющие создать видимость императивщины.

cathode
()
Ответ на: комментарий от cathode
> есть монады, позволяющие создать видимость императивщины.

Это кетайская подделка под труЪ-императивщину %)

tailgunner ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.