LINUX.ORG.RU
ФорумTalks

Флеймы на тему ФП


0

0

Наверняка на Лоре такие были... Накидайте, пожалуйста, ссылок по сабжу.

ps Кстати для знакомства с миром ФП что посоветуете? Пока смотрю на Haskell и Lisp.


Haskell. В нем оно гвоздями забито, а схема и лисп позволяют похалтурить в императивном стиле :).

После осиления хаскелля посмотри схему.

Cris
()
Ответ на: комментарий от Phobos

1) Лисп не является функциональным языком. Это императивный язык с некоторыми функциональными возможностями. 2) Да, ленивые вычисления - очень мощная вещь. Впрочем, OCaml - функциональный, но не ленивый.

Miguel ★★★★★
()
Ответ на: комментарий от Phobos

Найди в сети книжку, Haskell the craft of functional programming. По ней нормально можно в основы въехать. Там и про ленивые вычисления есть.

Cris
()
Ответ на: комментарий от Reset

> сейчас читаю, стоящая

о, тогда завтра топаю в магазин

Phobos
() автор топика
Ответ на: комментарий от Phobos

я её недавно купил

херня полная. пригодится, если есть желание узнать теоретические основы ФП, но и то плотной связи я не углядел: либо теория, либо хаскель чистой воды.

catap был прав. почти 600р (не местный я) коту под хвост. много опечаток - много предложений начинается не с заглавной буквы (ну я тож так пишу, но там-то книга!) - автор явно куда-то спешил.

но наличие такой книги не может не радовать.

Pi ★★★★★
()
Ответ на: комментарий от Pi

более того, автор эстет ещё тот: на своём компакте к книге он разместил ghc - виндовые мси и сорцы. зачем сорцы я так и не допёр: если для венды - есть ведь инсталлер, если для неальтернатувных ОС, то как я сбильджю компилятор селф-хостед языка?

Pi ★★★★★
()
Ответ на: комментарий от Miguel

а что, у фашистов кроме логичных действий есть еще какие-то? на замечал.

Rastafarra ★★★★
()
Ответ на: комментарий от DonkeyHot

Есть. Высокий порог вхождения - раз, наличие не таких красивых и чистых, но достаточно мощных *практических* языков - два. Вот и выбирают для практики CL или OCaml, а для души Haskell.

anonymous
()
Ответ на: комментарий от anonymous

>Высокий порог вхождения - раз, наличие не таких красивых и чистых, но достаточно мощных языков - два

Так и я же об этом. Глупость и лень - очень серьёзные причины, но не достаточно разумные :)

DonkeyHot ★★★★★
()
Ответ на: комментарий от Cris

>Haskell. В нем оно гвоздями забито, а схема и лисп позволяют похалтурить в императивном стиле :).
А мне просто доставило массу удовольствия пытаться переписать примеры из учебника по Хаскелю на Python. Вот например быстрая сортировка Хоара
на языке Haskell:
quickSort [] = []
quickSort (x:xs) = quickSort [y | y <- xs, y <= x] ++ [x] ++ quickSort [y | y <- xs, y > x]

На python:
qSort = lambda x: [] if x == [] else qSort([y for y in x[1:] if y<=x[0]]) + [x[0]] + qSort([y for y in x[1:] if y > x[0]])

Marvin
()
Ответ на: комментарий от Marvin

Дык в Питоне list comprehensions как раз из Хаскелля и тянуты.

anonymous
()
Ответ на: комментарий от Marvin

Тогда грокни на пайтоне вычисление 100000 числа Хэмминга (работаем в REPL):

Prelude> :m +Data.List

Prelude Data.List> let hammings = 1 : (unfoldr generator $ map (\n -> map (n*) hammings) [2,3,5]) where generator xss = let x = minimum $ map head xss in Just (x,map (dropWhile (x==)) xss)

Prelude Data.List> hammings !! 100000

290237644800000000000000000000000000000

Примечание: числа Хэмминга - это те, которые не делятся ни на какие простые, кроме 2, 3 и 5.

Miguel ★★★★★
()
Ответ на: комментарий от Reset

а какой джентельменский набор для haskell'а посоветуете?

Щупал hugs, в принципе все нормально и unicode вроде работает, но интерпритатор...

ghc6 с юникодом не работает

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