Re[4]: Верно ли, что Haskell это декларативное программирова
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 06.11.22 17:40
Оценка: :)
vaa> и реактивных десктоп приложух?

Я ещё не дочитал до того места, но запомню этот вопрос. И потом задам его другим людям в другом топике.
Отредактировано 06.11.2022 17:41 Эйнсток Файр . Предыдущая версия .
Re[3]: Верно ли, что Haskell это декларативное программирование?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 06.11.22 17:58
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>Haskell крут в распараллеливание. И это настолько заруливает "умение в Си", что является основанием не учить Rust.

А разве иммутабельность только у Хаскеля? Или за счет чего крутизна в распараллеливании?
и солнце б утром не вставало, когда бы не было меня
Re[4]: Верно ли, что Haskell это декларативное программирова
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 06.11.22 18:07
Оценка:
ЭФ>>Haskell крут в распараллеливание. И это настолько заруливает "умение в Си", что является основанием не учить Rust.
S> за счет чего крутизна в распараллеливании?

За счёт лямбд, чистоты, контекстов и do-конструкции. В общем, это описано в последней работе из списка книжек по Haskell:
2009, Simon Marlow & Simon Peyton Jones & Satnam Singh, Runtime Support for Multicore Haskell
Отредактировано 06.11.2022 18:08 Эйнсток Файр . Предыдущая версия .
Re[5]: Верно ли, что Haskell это декларативное программирова
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 06.11.22 18:53
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>>>Haskell крут в распараллеливание. И это настолько заруливает "умение в Си", что является основанием не учить Rust.

S>> за счет чего крутизна в распараллеливании?

ЭФ>За счёт лямбд, чистоты, контекстов и do-конструкции. В общем, это описано в последней работе из списка книжек по Haskell:

ЭФ>2009, Simon Marlow & Simon Peyton Jones & Satnam Singh, Runtime Support for Multicore Haskell
Лямбды есть во многих языках. Чистота чего? do конструкции?
Нормальным языком нельзя сказать? Насколько я знаю распараллеливание там идет за счет иммутабельности. Или я не прав?
и солнце б утром не вставало, когда бы не было меня
Re[6]: Верно ли, что Haskell это декларативное программирова
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 07.11.22 03:13
Оценка: :)
ЭФ>>2009, Simon Marlow & Simon Peyton Jones & Satnam Singh, Runtime Support for Multicore Haskell
S> Лямбды есть во многих языках. Чистота чего? do конструкции?
S> Насколько я знаю распараллеливание там идет за счет иммутабельности.
S> Или я не прав?

Внутри себя я убеждён, что ты неправ. Поддержка от рантайма и компилятора — это не "просто иммутабельность".

S> Нормальным языком нельзя сказать?


Мне слабо́ (нехватает квалификации, надо много читать, долго думать и сформировать объяснение).
Жду помощь зала.
Отредактировано 07.11.2022 3:25 Эйнсток Файр . Предыдущая версия . Еще …
Отредактировано 07.11.2022 3:15 Эйнсток Файр . Предыдущая версия .
Отредактировано 07.11.2022 3:15 Эйнсток Файр . Предыдущая версия .
Re[6]: Верно ли, что Haskell это декларативное программирова
От: vsb Казахстан  
Дата: 07.11.22 03:39
Оценка: 9 (1)
Все эти обещания по распараллеливанию это болтовня. Параллелить надо на гпу. Хаскель тут ничего не даёт.

Вот тут весь прогресс. Впитывайте.

https://mobile.twitter.com/victortaelin/status/1588332432587005952


PS ссылка не вставляется, анунаки уже забэкдурили RSDN
Отредактировано 07.11.2022 3:44 vsb . Предыдущая версия . Еще …
Отредактировано 07.11.2022 3:43 vsb . Предыдущая версия .
Отредактировано 07.11.2022 3:41 vsb . Предыдущая версия .
Отредактировано 07.11.2022 3:41 vsb . Предыдущая версия .
Отредактировано 07.11.2022 3:40 vsb . Предыдущая версия .
Re: Верно ли, что Haskell это декларативное программирование?
От: DiPaolo Россия  
Дата: 07.11.22 05:21
Оценка:
ЭФ>А что думаете вы? Пишите.

Варианты:
— манийная часть какого-то заболевания типа биполярки
— втюрился в статью по хаскелю на каком-нить хабре
— осеннее обострение
— действие каких-то медицинских разгоняющих психику препаратов
— действие каких-то НЕ медицинских препаратов
— тебе 14-15 лет и ты впервые прочитал про что-то крутое в программировании -> снесло крышу
— тебе 22-24, пару лет в программировании, думаешь самый крутой и все познал, почитал статью про функциональное программирование, и понял, что вот она — серебряная пуля, надо брать!!!
— графомания, но вряд ли

Больше вариантов не приходит на ум
Патриот здравого смысла
Re[7]: Верно ли, что Haskell это декларативное программирова
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 07.11.22 05:21
Оценка:
vsb> Параллелить надо на гпу. Хаскель тут ничего не даёт.

Даёт. Haskell умеет компилировать для GPU.
Re[6]: Верно ли, что Haskell это декларативное программирова
От: sergii.p  
Дата: 07.11.22 11:55
Оценка: +1
Здравствуйте, Serginio1, Вы писали:

S> Лямбды есть во многих языках. Чистота чего? do конструкции?


чистота функций видимо.

qsort []    = []
qsort (x:xs) = qsort small ++ mid ++ qsort large
  where
    small = [y | y<-xs, y<x]
    mid   = [y | y<-xs, y==x] ++ [x]
    large = [y | y<-xs, y>x]


small и large высчитываются независимо друг от друга. И хаскель может их выполнить параллельно. Императивные языки стремаются так делать из-за потенциальной нечистоты (н-р запись в лог может быть).
Другими словами, в хаскель все функции чистые по определению. И это может использоваться для оптимизации
Re[7]: Верно ли, что Haskell это декларативное программирова
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 07.11.22 15:41
Оценка:
Здравствуйте, sergii.p, Вы писали:


SP>small и large высчитываются независимо друг от друга. И хаскель может их выполнить параллельно. Императивные языки стремаются так делать из-за потенциальной нечистоты (н-р запись в лог может быть).

SP>Другими словами, в хаскель все функции чистые по определению. И это может использоваться для оптимизации
Ну то бишь иммутабельность?

Кстати во многих случаях иммутабельность это зло
В C# работает Parallel.Do
https://stackoverflow.com/questions/1897458/parallel-sort-algorithm

Можно проверить на скорость. В обычных языках есть выбор между иммутабельностью и мутабельностью.
А решать уменьшать конкуренцию к данным из потоков можно кучей разных способов, в том числе и иммутабельностью.
и солнце б утром не вставало, когда бы не было меня
Re[8]: Верно ли, что Haskell это декларативное программирова
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 08.11.22 00:10
Оценка: 9 (1)
S> В обычных языках есть выбор между иммутабельностью и мутабельностью.

В Haskell тоже есть. Можно сделать мутабельный контекст и внутри всё замутировать, а компилятором это будет рассматриваться как "чистая функция". Для этого и нужна do-конструкция.

конструкция
do
    x <- a
    b


раскрывается в
a >>= ( \x -> b )

выполняется действие a, результат которого сохраняется в некой переменной x, которая далее передается при помощи операции (»=), определенной для каждой конкретной монады, в последующие действия b.


см. также
Equal (=) Vs left arrow (&lt;-) symbols in haskell
Нотация do
Lambda in Haskell
What does the &gt;&gt; symbol mean in Haskell
Where can I read up on the haskell "-&gt;" operator?

Нашел ещё wiki-учебник
Отредактировано 08.11.2022 0:54 Эйнсток Файр . Предыдущая версия . Еще …
Отредактировано 08.11.2022 0:45 Эйнсток Файр . Предыдущая версия .
Отредактировано 08.11.2022 0:39 Эйнсток Файр . Предыдущая версия .
Отредактировано 08.11.2022 0:27 Эйнсток Файр . Предыдущая версия .
Отредактировано 08.11.2022 0:24 Эйнсток Файр . Предыдущая версия .
Отредактировано 08.11.2022 0:23 Эйнсток Файр . Предыдущая версия .
Отредактировано 08.11.2022 0:23 Эйнсток Файр . Предыдущая версия .
Отредактировано 08.11.2022 0:20 Эйнсток Файр . Предыдущая версия .
Отредактировано 08.11.2022 0:18 Эйнсток Файр . Предыдущая версия .
Отредактировано 08.11.2022 0:16 Эйнсток Файр . Предыдущая версия .
Отредактировано 08.11.2022 0:13 Эйнсток Файр . Предыдущая версия .
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.