Форум программистов, компьютерный форум, киберфорум
Haskell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
Эксперт функциональных языков программированияЭксперт по математике/физике
4302 / 2093 / 431
Регистрация: 19.07.2009
Сообщений: 3,163
Записей в блоге: 24

Clean vs Haskell

08.07.2015, 23:58. Показов 2948. Ответов 14

Author24 — интернет-сервис помощи студентам
Интересует подробное сравнение чистых функциональных языков программирования семейства ML: Clean и Haskell.

В И-нете как-то немного информации нагуглил про сравнение этих двух ЯП. В основном пишется, что у Clean слегка другая реализация IO и что по некоторых бенчмаркам он якобы быстрее Haskell.

В общем, накидайте ссылки на статьи или поделитесь своим опытом.

Особо интересен анализ главных языковых (синтаксических, выразительных) различий чистого Clean (хм, интересный каламбур) и чистого Haskell (без ghc-шных дополнений).
1
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.07.2015, 23:58
Ответы с готовыми решениями:

Место ФП и Haskell в компьютерной индустрии (Для чего он нужен, этот Haskell?)
"У нас" ? А где преподавание этой экзотики на высоте? Добавлено через 2 минуты А где такие "пришедшие" используют...

Программа CLEAN
Подскажите, пожалуйста, ссылку на скачивание программы CLEAN на РУССКОМ ЯЗЫКЕ для WINDOWS 10.

Clean-param
Как известно, Яндекс ввёл новую полезную директиву для robots.txt ( http://help.yandex.ru/webmaster/?id=996567#1041216 )Кто в ней уже...

14
Модератор
Эксперт функциональных языков программирования
3092 / 2241 / 466
Регистрация: 26.03.2015
Сообщений: 8,770
09.07.2015, 21:21
Из книги Душкина "функциональное программирование на языке Haskell."
Clean. Чистый функциональный язык программирования, поддерживающий основные принципы парадигмы функционального программирования. Для вычислений использует традиционные математические способы вывода значений — унифицированную подстановку и математическую индукцию. Язык Clean является одним из самых быстрых функциональных языков программирования. Характеристики языка: ленивые вычисления с возможностью отказа от них в целях оптимизации, чистота, использование функций высшего порядка, строгая типизация по модели Хиндли — Милнера (что включает в себя типы высших порядков, полиморфные типы, абстрактные и алгебраические типы данных, синонимы типов), модульность, возможность использования библиотек ввода/вывода и создания графического интерфейса пользователя.
Синтаксис языка Clean несильно отличается от синтаксиса языка Haskell. Главное отличие этих языков заключается в способе вычислений. Программы на языке Clean являются с точки зрения транслятора этого языка графами, для вычисления которых используется редукция при помощи графов (см. раздел 5.5). Кроме того, система ввода/вывода в языке Clean построена не на использовании понятия «монада», а на «уникальных типах».
2
Эксперт функциональных языков программированияЭксперт по математике/физике
4302 / 2093 / 431
Регистрация: 19.07.2009
Сообщений: 3,163
Записей в блоге: 24
18.07.2015, 16:18  [ТС]
Более развёрнутого ответа не будет? Мне-то не совсем понятно, что принципиально отличного в способе вычислений и что такое уникальный тип.

Хорошо бы увидеть сопоставления в виде таблицы: вот у нас есть такая задача — вот на Clean она может быть решена так — вот её естественное решение на Haskell => вот разница.

Если дойдут руки покрутить, потом отпишу впечатления.
0
Модератор
 Аватар для Curry
5145 / 3376 / 536
Регистрация: 01.06.2013
Сообщений: 7,206
Записей в блоге: 9
18.07.2015, 16:59
Mysterious Light, за 9 дней могли бы сами зайти на вику, с неё на http://clean.cs.ru.nl/Clean, узнать что последний (единственный?) релиз 23 December 2011. Пощупать её и нам рассказать.
1
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
19.07.2015, 10:50
KolodeznyDiver, как бы http://clean.cs.ru.nl/Download_Clean
Latest development releases
Clean + iTasks (1 July 2015; Intel, 32bit) clean-itasks-win32-20150701.zip
64-bit
Clean + iTasks (1 July 2015; Intel, 64bit) clean-itasks-linux64-20150701.tar.gz
32-bit
Clean + iTasks (7 July 2015; Intel, 32bit) clean-itasks-linux32-20150705.tar.gz
2
Модератор
 Аватар для Curry
5145 / 3376 / 536
Регистрация: 01.06.2013
Сообщений: 7,206
Записей в блоге: 9
19.07.2015, 12:52

Не по теме:

Цитата Сообщение от pycture Посмотреть сообщение
Latest development releases
Clean + iTasks (1 July 2015; Intel, 32bit) clean-itasks-win32-20150701.zip
Тогда пардон. Я дальше заглавной страницы их сайта не ходил. Там почему то 2011 год.



Добавлено через 46 минут

Не по теме:

Кстати, всё повторяется 1:1 .



Добавлено через 45 минут
Если уж смотреть какие то другие ФЯ, то, наверно Scala, Scala 2.11.7 вышла 24 июня и популярность у неё неплохая. А про Clean ни в каких рейтингах нигугу.

p.s. Я то по Скале только начал было книжку читать, да ... то одно, то другое мешает. А надо бы.
1
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
19.07.2015, 13:31
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
А про Clean ни в каких рейтингах нигугу.
если б крышевался как хаскель или скала, то и в рейтингах был бы.
0
Модератор
 Аватар для Curry
5145 / 3376 / 536
Регистрация: 01.06.2013
Сообщений: 7,206
Записей в блоге: 9
19.07.2015, 13:40
Цитата Сообщение от pycture Посмотреть сообщение
если б крышевался как хаскель или скала, то и в рейтингах был бы.
Неважно почему не раскручен. Если не раскручен, значит мало пользователей, мало всяких комьюнити, рабочего состояния пакетов. Мало где спросить, мало что готового взять. У Haskell-а, то эта же проблема. А в языках ещё куда менее известных она в квадрате.
1
4820 / 2286 / 287
Регистрация: 01.03.2013
Сообщений: 5,970
Записей в блоге: 30
20.07.2015, 01:25
Рассказывали, что в Клину на дне города висел плакат "люблю свой Клин". И действительно, каждый свой клин любит. А если любовь - то никакое комьюнити, рейтинги, пользователи и пакеты не остановят.
1
 Аватар для NoobsEnslaver
136 / 48 / 2
Регистрация: 31.07.2014
Сообщений: 238
23.07.2015, 09:03
Вообще, то что написано выше про оптимизацию - ерунда какая то. Дело в том, что в самой основе ленивых вычислений лежит предположение об использовании бэта-редукции, а она приводит к полной редукции выражения при любом исходе, в отличии от дельта-редукции (энергичные языки). Если по-русски, то оптимизация всегда полная, в обоих этих языках (если только не примешивать грязь в вычисления).
А вообще, насколько мне известно он очень похож на Haskell. А вот если тебе хочется реальной скорости на ФЯ - попробуй Stalin
0
Модератор
 Аватар для Curry
5145 / 3376 / 536
Регистрация: 01.06.2013
Сообщений: 7,206
Записей в блоге: 9
23.07.2015, 11:50
Цитата Сообщение от NoobsEnslaver Посмотреть сообщение
попробуй Stalin
Это ж не язык, а компилятор Scheme.
Быстрый, как будто MLton - компилятор Standard ML.

Не по теме:

(чего на свете не бывает)

0
 Аватар для NoobsEnslaver
136 / 48 / 2
Регистрация: 31.07.2014
Сообщений: 238
24.07.2015, 08:54
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
Это ж не язык, а компилятор Scheme.
Ну я не работал с ним, но думал там свой диалект.
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,720
15.04.2020, 12:30
Что-то изменилось за 5 лет? Стал ли Clean более модным?
0
15.04.2020, 16:56

Не по теме:

Цитата Сообщение от supmener Посмотреть сообщение
Что-то изменилось за 5 лет?
Думаю, что и через 5 лет ничего не изменится - вы так же будете спрашивать на форуме про все языки, какие найдёте.

0
Антикодер
Эксперт функциональных языков программирования
1888 / 870 / 48
Регистрация: 15.09.2012
Сообщений: 3,084
16.04.2020, 13:43
Эту вопрос лучше разработчикам этих языков задавать. У нас в сообществе есть, например, Виталий Брагилевский:
https://twitter.com/_bravit
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.04.2020, 13:43
Помогаю со студенческими работами здесь

Директива Clean-param
Проблема: В индексе висит много страниц вида www.site.ru/catalog_list.php?id=1090 После смены cms адрес стал вида:...

Clean package в IntellijIDEA
Всем добрый день! В этом видео: https://www.youtube.com/watch?v=Z9dvZyEofAg&index=2&list=PLuEo4W0EBxtVf637oKSlWMwXIDHSx3Tjn на 44:57...

Вопрос по языку Clean
Непонятно, почему мой вопрос сочли не по "теме", попробую по другому - Я хочу, для начала, написать код создающий список случайных чисел...

Clean - ввод\вывод
Мне нужен код делающий следующее: 1. Присваивание переменной N числа введённого с клавиатуры. 2. S = 10 * N 3. Выведение значения S...

Как вы относитесь к Clean Master?
Как вы относитесь к Cean Master? Слышал что она удаляет все не нужное, но я побаиваюсь что она удалит что то нужное для андроида.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Результаты исследования от команды MCM (март 2025 г.)
Programma_Boinc 07.04.2025
Результаты исследования от команды MCM (март 2025 г. ) В рамках наших текущих исследований мы продолжаем изучать гены, которые имеют наибольшую вероятность развития рака легких, выявленные в рамках. . .
Рекурсивные типы в Python
py-thonny 07.04.2025
Рекурсивные типы - это типы данных, которые определяются через самих себя или в сочетании с другими типами, которые в свою очередь ссылаются на исходный тип. В мире программирования такие структуры. . .
C++26: Объединение и конкатенация последовательностей и диапазонов в std::ranges
NullReferenced 07.04.2025
Работа с последовательностями данных – одна из фундаментальных задач, с которой сталкивается каждый разработчик. C++ прошел длинный путь в эволюции средств для манипуляции коллекциями – от. . .
Обмен данными в микросервисной архитектуре
ArchitectMsa 06.04.2025
Когда разработчики начинают погружаться в мир микросервисов, они часто сталкиваются с парадоксальным правилом: "два сервиса не должны делить один источник данных". Эта мантра звучит повсюду в. . .
PostgreSQL в Kubernetes: Автоматизация обслуживания с CNPG
Mr. Docker 06.04.2025
Администраторы баз данных сталкиваются с целым рядом проблем при обслуживании PostgreSQL в Kubernetes: как обеспечить правильную репликацию данных, как настроить автоматическое переключение при. . .
Async/await в TypeScript
run.dev 06.04.2025
Асинхронное программирование — это подход к разработке программного обеспечения, при котором операции выполняются независимо друг от друга. В отличие от синхронного выполнения, где каждая последующая. . .
Многопоточность в C#: Синхронизация потоков
UnmanagedCoder 06.04.2025
Многопоточное программирование стало неотъемлемой частью разработки современных приложений на C#. С появлением многоядерных процессоров возможность выполнять несколько задач параллельно значительно. . .
TypeScript: Классы и конструкторы
run.dev 06.04.2025
TypeScript, как статически типизированный язык, построенный на основе JavaScript, привнес в веб-разработку новый уровень надежности и структурированности кода. Одним из важнейших элементов этой. . .
Многопоточное программирование: Rust против C++
golander 06.04.2025
C++ существует уже несколько десятилетий и его поддержка параллелизма постепенно наращивалась со временем. Начиная с C++11, язык получил стандартную библиотеку для работы с потоками, а в последующих. . .
std::vector в C++: от основ к оптимизации производительности
NullReferenced 05.04.2025
Для многих программистов знакомство с std::vector происходит на ранних этапах изучения языка, но между базовым пониманием и подлинным мастерством лежит огромная дистанция. Контейнер std::vector. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер