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 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.