
Aragaer
26.03.2018
18:45:29
мне слабо сделать, потому что я еще не осилил монады

Dmitry
26.03.2018
18:45:53
на си вроде монада не делается
на плюсах пытались несколько лет назад, вроде почти получалось

Alexander
26.03.2018
18:46:17
если язык тьюринг-полный то делается

Google

Alexander
26.03.2018
18:46:22
вопрос в степени изъеба

Александр
26.03.2018
18:46:29
Может, имеется в виду do-нотация?

Alexander
26.03.2018
18:46:46
вооот эта вот абстракция в сторонке, составляющая 1% кода
нет, именно манада

Александр
26.03.2018
18:46:56
Так-то монады сделать на С++ - можно. Чем я сейчас и занимаюсь

Alexander
26.03.2018
18:46:58
do-нотация это просто сахар, а монада это сила

Oleg
26.03.2018
18:47:16
как будто на хашкеле монада делается

Александр
26.03.2018
18:47:27
Да даже есть умельцы, которые на бустовом препроцессоре do-нотацию эмулируют

Aragaer
26.03.2018
18:47:34
... что такое можно на плюсах сделать, чего нельзя сделать на си, кроме zero-cost исключений?

Dmitry
26.03.2018
18:47:43
ну хорошо, аналог того, что в хаскелле называется монадами, в си делается неизвестно как и совершенно точно непригодно к использованию

Aragaer
26.03.2018
18:47:45
или я опять сильно отстал от времени?

Dmitry
26.03.2018
18:47:50
как и замыкания, например

Google

Александр
26.03.2018
18:48:07
Из соседнего чата.
Уф... Реализация комбинаторного STM на фримонадах - это одна из самых сложных вещей, которые я когда-либо делал. Не то, что для доклада, а вообще. Остались последние две задачи, но машинерия, судя по всему, работает.
https://github.com/graninas/cpp_stm/blob/master/cpp_stm/stm_free.h
А ведь каких-то три месяца назад я вообще не был уверен, что у меня что-то получится. Все-таки, никто до меня такого не делал. Ну, то есть, когда я завершил рисеч на Хаскелле, то потом лишь нашел, что еще один чувак придумал делать STM на фримонадах, в Скале. Но мой подход все равно отличается. И реально позволяет впилить комбинаторный STM в языки, где все плохо с другими реализациями, но более-менее хорошо с ФП.

Alexander
26.03.2018
18:48:47
фига синтаксис незнакомый

Александр
26.03.2018
18:51:04

Alexander
26.03.2018
18:51:07
я не читал кнута
начинал, если честно но забил быстро

Denis
26.03.2018
18:53:00
Я не осилил

Alexander
26.03.2018
18:53:15
у меня книжка с картинкой от Farm House не помню за чьим авторстном

Aragaer
26.03.2018
18:54:08
когда я говорю, что "прочитал только первую главу" это не значит "не осилил"

Alexander
26.03.2018
18:54:10
читаю я и понимаб, что cpp становится страшной вещью

Aragaer
26.03.2018
18:54:24
потому что там по 2 главы в томе, а меня интересовало именно то, что было в нечетных главах

Александр
26.03.2018
18:54:56

Aragaer
26.03.2018
18:54:59
в третьей главе про псевдорандом мне было интересно, а пятая про сортировку

Александр
26.03.2018
18:55:05
Это еще нужно учесть, что я С++ не знаю

Alexander
26.03.2018
18:55:19
я вот посмотрел guid
раньше это бы делалось куда понятнее и многострочнее
хотя вру, можно просто заюзать sprintf

分解物質
26.03.2018
18:57:51

Google

Anton
26.03.2018
18:59:01
у меня 4 тома Кнута в оригинале, но прочитал я от силы первые страниц 50 1-го тома и еще некоторые секции смотрел во 2-м или 3-м томе

分解物質
26.03.2018
19:00:09

Александр
26.03.2018
19:00:39
Чатик хаскелляторов-неосиляторов

Nick
26.03.2018
19:00:47
он очень академично пишет и иногда сложным моментам уделяет 5 сек, приходится самому разбираться

Anton
26.03.2018
19:01:32

Александр
26.03.2018
19:01:42
"Очевидно, что..."
Самые ужасные места в пейперах
Самые страшные

Nick
26.03.2018
19:02:17
да да)
ну и в перекрестных ссылках иногда сложно разобраться

Aragaer
26.03.2018
19:03:01
когда я кнута покупал/читал, 4-й том еще не вышел

Nick
26.03.2018
19:03:29
4а?)

Aragaer
26.03.2018
19:03:45
и вроде перед этим планировалось 4-е издание первого тома, чтобы вместо mix был mmix с уже 8-битными байтами

Leonid
26.03.2018
19:22:20
Так и запишем - на хаскеле пишут только не очень умные программисты

Pig
26.03.2018
19:23:29
конечно, умные-то типы с инвариантами в голове держат

Pineapple
26.03.2018
19:25:09
Был бы я умным — писал бы плюсах и не свистел, но плюсах мне писать сложно

Александр
26.03.2018
19:25:53
А там еще на плюсах когда ФП делаешь, сегфолты заработать - раз плюнуть.

Alister
26.03.2018
19:26:18
умные программисты пишут на асемблере
одним файлом

Google

Alister
26.03.2018
19:26:30
сразу с манглингом

Pineapple
26.03.2018
19:26:35
На плюсах заработать сегфолты всегда раз плюнуть

Alister
26.03.2018
19:27:42
и в ногу выстрелить
чинно, обьектом с темплейтом и смарт пойнтером

Aragaer
26.03.2018
19:28:27
а я люблю писать тесты с мин-юнитом и потом прогонять их через валгринд

Alister
26.03.2018
19:29:03

Александр
26.03.2018
19:30:05
Уверен, в чате плюсовиков так же говорят, когда речь про Haskell заходит
О, пойду-ка я поиском поищу "Haskell" в таком чате
Ну, там, в общем, языкосрачи ничем не отличаются. Но есть тенденция: всякие чуваки пишущие "искаверкана русска языка", в основном, против Haskell, но целая куча грамотных и рассудительных, которые даже его рекламируют.

Alexander
26.03.2018
20:06:56
все логично, программисты на хаскеле привыкли использовать статическую проверку на наличие ошибок
даже в орфографии

Anatolii
26.03.2018
21:56:52

Alister
26.03.2018
21:58:03
динамический хаскель

A64m
26.03.2018
22:20:41
как-то осторожно он признается что "динамическую" "типизацию" любит, зато делать строгий язык в 2010 годы не боится совсем, а что больший признак неадекватности это еще поспорить можно

Dmitry
27.03.2018
00:20:18

Andrew
27.03.2018
02:17:01

Artem
27.03.2018
05:57:26

Anatolii
27.03.2018
06:22:46
next Haskell?

ParkeT
27.03.2018
06:31:37

Anatolii
27.03.2018
06:45:42
это английский аналог нашей фразы "когда рак на горе свистнет"

Google

Anatolii
27.03.2018
06:46:17
Когда багу пофиксишь? - Когда выйдет новый строгий хаскель

Daniel
27.03.2018
06:57:40
@A64m_qb0 наверняка ты знаешь
подскажи, пожалуйста, откуда взялся термин type class и есть ли его точное определение

Artem
27.03.2018
07:07:00
next Haskell?
Собственно, в контексте Идрис это имеет вполне практический смысл

Евгений
27.03.2018
07:11:58

Mikhail
27.03.2018
07:13:30

Oleg
27.03.2018
07:16:12
Видимо, корректная редукция с наименьшим количеством бета

Alister
27.03.2018
07:23:23
call-by-name го

Евгений
27.03.2018
07:29:54

Imants
27.03.2018
07:35:23
Может, упростить контроль над ленивостью?
Например, при вызове ф обозначать, что пусть всё в ней лениво | строго.

Евгений
27.03.2018
07:39:31
Зачем вам упрощать контроль за ленивостью? Может лучше писать абстракции, которые не протекают?

Vyacheslav
27.03.2018
07:40:47
Нормально делай нормально будет

Alister
27.03.2018
07:48:50

Denis
27.03.2018
07:53:14
не уверен что это самый первый пейпер, но это вадлеровская работа и эпоха +- совпадает

Daniel
27.03.2018
07:53:43

isnullxbh
27.03.2018
08:15:02
Ребят, подскажите, пожалуйста, какой из терминов корректный (общеупотребительный): альфа-эквивалентность или бета-эквивалентность? Кузнецов в своих лекциях использует первый термин, Москвин - второй. Или я что-то не понял, и это разные вещи?

kana
27.03.2018
08:17:34
альфа-эквивалентность:
(\x. x) =_\alpha (\y.y)
бета-эквивалентность:
(\x.x) y =_\beta y
(\x.t(x)) y =_\beta t(y)

Vyacheslav
27.03.2018
08:19:38
Отличное пояснение