Pull to refresh
95
0
Вячеслав Егоров @mraleph

Пользователь

Send message
нет, конечно… одна бесконечность (действительные числа) больше другой (натуральные числа) на бесконечное множество элементов =)
а, так вы из тех «одаренных» людей, которые пытаются доказать счетность множества действительных чисел?
согласен, всё чисто.
простите, о какой такой «теории Кантора» вы говорите?
можете дать формальное доказательство для D?
я категорически не понимаю смысла туториалов(всяких кружек, капель и вёдер) типа «а вот это дети тип данных»…

во-первых, более качественных туториалов обычно наличествует полный интернет (плюс тележка книг).

во-вторых, имхо, единственный внятный способ изучить язык это начать на нём писать какие-то реальные велосипеды. чтение отвлеченных упражнений (а давай-те как сложим числа из списка) пользы приносит пренебрежительно мало…
по-моему, тут вы что-то путаете, т.к. из ФЯ ленив по умолчанию только Haskell


еще Миранда =)
не надо ля-ля, языки высокого уровня возникли как раз из практических соображений, а не как академическое упражнение…
Ответ не подходит к вопросу.
Я не спрашивал, почему пересели.
Я спрашивал, почему менее качественный.
нет, не буду

ну это много где нынче успешно применяется… собственно мой point в том и состоит, что вот такие гибриды (функциональщина + императивщина) таки являются оптимумом с практической точки зрения…
в математическом смысле, проще


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

Например, у нас в ИСИ СО РАН есть лаборатория, в которой весьма успешно занимаются верификацией подмножества C#.

неспроста раньше в курсе SICP языком был Scheme (почему сейчас не так — это отдельная история)


Однако, Scheme не чист, не ленив и не статически типизирован =)
код на Haskell — разделён так, что подавляющую часть программы можно верифицировать формальными методами


у вас есть доказательство сего факта?
субъективное утверждение требует хотя бы статистического доказательства…

Вот кстати в соседнем посте человек привёл достаточно интересный факт о том, что GHCшники отказались от darcs, о котором я не знал… Если бы он был проще, так darcs давно бы взяли бы и допилили бы… А так они взяли и пересели на git, который суть C + bash (и никакой функциональщины). Получается продукт написанный на «небезопасном и отсталом» языке качественней чем проект написанный на «безопасном языке будущего»? В чем причина?
а в чистых функциональных «ленту и прибамбасы» приходится приделывать обратно (монады там всяческие, unsafePerformIO), разве нет?

никакой theorem prover не сможет проанализировать типичный императивный mess, где память рандомно пишется-читается из десятков потоков


аналогичное, как мы уже поняли, верно и для FP. Никакой анализатор не справится с полноценным языком… Эта истина, которую я высказал в самом начале трэда…

Осталось лишь понять, насколько практически полезны и удобны «неполноценные» языки…
ну разумеется императивное с ограничениями…
пардон глюкануло, чего-то

все говорят «я не могу» — «а ты возьми и купи слона!» ©


не-не-не! вы же говорите «могу». Вы говорите «Haskell — панацея». Вы говорите «profit и работает как часы». Я не просто так вцепился…

они допустимы только там, где можно доказать их завершимость

если доказать нельзя — рефакторим код так, чтобы доказывалось


В чем отличие от императивного кода? Для него тоже самое верно… Можно рефакторить, пока prover не прожуёт… Можно выделять подможества, для которых разрешима задача проверки корректности… Всё можно.

В чем же реальный, практический profit FP?

все говорят «я не могу» — «а ты возьми и купи слона!» ©


никто же не говорит, что их не должно быть

я думаю так

они допустимы только там, где можно доказать их завершимост
а по-мойму удобно мыслить type classes, как интерфейсы
Всё зависит от способностей total checker'а.


и тут у меня возникает вопрос… а причем здесь вообще FP? =)
Разве вы не видите, что все те же рассуждения можно привести и для императивных языков программирования?

Вообщем, я не вижу убедительных доказательств в пользу того факта, что Haskell как бы снижает стоимость разработки/поддержки и при этом не привносит дополнительных издержек.

Information

Rating
Does not participate
Location
Дания
Date of birth
Registered
Activity