LINUX.ORG.RU

Ответ на: комментарий от sanuda

Хорошая функция (как я понимаю) в функциональной парадигме дожна все при одних и тех же входных данных давать один и тот же результат. Функции, общающиеся с внешней средой таковыми не являются. Поэтому их следует делать как можно меньше, не?

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

> Функция, работающая с IO, тоже является чистой
Т.е такие незначительные побочные эффекты, как изменение и влияние мира мы игнорируем?

quantum-troll ★★★★★ ()
Ответ на: комментарий от Dimson

> что такое эквивалентность определений в школе не проходили?

Что эквивалентность определений надо доказывать, в институте не проходили?

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

> Хорошая функция (как я понимаю) в функциональной парадигме дожна все при одних и тех же входных данных давать один и тот же результат. Функции, общающиеся с внешней средой таковыми не являются.

Являются. Функции не выполняют IO, а возвращают код для работы с IO, всегда один и тот же.

exlevan ()
Ответ на: комментарий от quantum-troll

>> Функция, работающая с IO, тоже является чистой

Т.е такие незначительные побочные эффекты, как изменение и влияние мира мы игнорируем?

У функций нет побочных эффектов. У IO есть.

exlevan ()
Ответ на: комментарий от quantum-troll

> Т.е такие незначительные побочные эффекты, как изменение и влияние мира мы игнорируем?

Ша, сейчас он тебе ответит, что любое проявление мира — это не более чем аргумент функции, поэтому все функции в IO чистые.

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

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

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

>> Имхо, для того, чтобы писать на хацкеле теоркат не нужен.

А вот тут с вами сильно не согласны.

Где? Что-то не видно. Цитатку не изволите?

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

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

Да и вдобавок, если трудно справиться с монадой IO, то кто тебе мешает на getLine смотреть, как на функцию World -> (String, World)?

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

Ну не зря же я «имхо» поставил. Оно подразумевает, что много людей не согласны с этим мнением. Да и по ссылке не написано «теоркат нужен программисту на хацкеле».

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

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

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

> Прекрасно, функция получилась чистой. Но лишь теоретически, ведь когда мы запустим программу, то ее поведение будет зависеть от состояния внешней среды, не так ли?

Запускаем мы машинный код, а не хаскель. Так что всё чисто. Можно называть это «лишь теоретически», что бы это не значило, но этого достаточно для успешной работы системы автоматического доказательства теорем, являющейся тайпчекером хаскеля.

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

>> Проблему производительности лисп делит

делил. Ты вспомни сколько лет назад были лисп-машины.

Проблему делит до сих пор, просто решена она сейчас лучше :-)

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

На самом деле все языки --- диалекты лиспа.

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

Ну так кто же, кроме тебя, напишет то, что ты считаешь серьезным? «Если не я — то кто же?» Где твой бунтарский дух, школота?

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

Функции, общающиеся с внешней средой таковыми не являются.

В Хаскеле НЕТ функций, общающихся с внешней средой (кроме unsafePerforIO и т.п.). Есть ЗНАЧЕНИЯ типа IO что-то-там, общающиеся с внешней средой, а точнее - интерпретируемые рантаймом как инструкции пообщаться с внешней средой.

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

Т.е такие незначительные побочные эффекты, как изменение и влияние мира мы игнорируем?

Где взял?

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

>Как можно сравнивать Г*в*о (lisp) с конфеткой (haskell).
Ну так когда в конфетке появится нормальная макросистема, без квазицитирования, думаю, с говном его сравнивать перестанут.

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

> haskell.org

X-Powered-By: PHP/5.2.6-1+lenny9

Ололо, вся мощь Хаскиля в действии.

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

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

До-о-о, квазицитирование — ужас, летящий на крыльях ночи. Может еще начнешь про кошмар двумерного синтаксиса вещать?

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

Для быстрого прототипирования и мат. онанизма


а кто этим в своём уме занимается? а для быстрого прототипирования тут уже подсказывали, лучше всего подходит delphi

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

> Пудрят всем мозги супермегапроизводительными хаппстацками, йесодами и прочей каббалистикой, а сами не осилили себе сайт сделать. Уютная пехепешечка такая уютная

Писать под веб на хаскеле хаскеля ради — это фанбоизм чистой воды. Хорошо, что за haskell.org следят здравомыслящие люди, знающие область применения и уровень надёжности своих инструментов.

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

>Может еще начнешь про кошмар двумерного синтаксиса вещать?
Нет. Но ты можешь рассказать. Если, все же не можешь - тогда разрешаю рассказать, почему выгородили Generic Haskell...

квазицитирование

...ну и liskell заодно.

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

> Писать под веб на хаскеле хаскеля ради — это фанбоизм чистой воды.

Расскажи это авторам yesod, happstack, snap, hoh и др.

Хорошо, что за haskell.org следят здравомыслящие люди, знающие область применения и уровень надёжности своих инструментов.

Да-да, про относительно недавний взлом code.haskell.org напомнить?

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

> а для быстрого прототипирования тут уже подсказывали, лучше всего подходит delphi

Ты мне напоменаешь слепых мудрецов из басни, которые судят о слоне, подёргав его за разные места на букву х.

Мне вот нужно было недавно парсер для простенького языка запросов набросать. Я воспользовался parsec. Parser combinator library для делфи не подскажешь?

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

То есть ты просишь меня рассказать тебе про generic haskell (за который я никого не агитирую), а так же про какое-то 2D-программирование (это про cairo что ли?)? Обойдешься.

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

А может ты фиговый штангист? Какие у тебя результаты?

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

> X-Powered-By: PHP/5.2.6-1+lenny9

Ололо, вся мощь Хаскиля в действии.

Вики-движков на разных языках хоть пруд пруди. Взяли готовый.

А ты вот лучше покажи поиск по API, такой же удобный, как Hoogle или Hayoo.

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

Ну так когда в конфетке появится нормальная макросистема

Макросистема - это такой способ замести проблемы под ковёр, вместо их решения.

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

а для быстрого прототипирования тут уже подсказывали, лучше всего подходит delphi

Эту блевотню вообще использовать невозможно.

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

>а так же про какое-то 2D-программирование
sanuda (03.04.2011 19:10:08) > ...двумерного синтаксиса...


То есть ты просишь меня рассказать тебе про

Ну ты ж меня просил «еще начать про кошмар двумерного синтаксиса ».
Почему бы и мне не спросить про что-нибудь, не касающееся темы?


Обойдешься

Слив защитан ;-)


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