@haskellru

Страница 756 из 1551
A64m
22.01.2018
13:18:07
да, должен уже строчить яростные комментарии, но нет

Leonid
22.01.2018
13:18:10
@qnikst чо там у вас конторе думают про это всё?

Alexander
22.01.2018
13:18:28
более позитивно чем не позитивно

Leonid
22.01.2018
13:18:53
небось тоже все няшу ХВРа не любят

Google
Alexander
22.01.2018
13:19:07
не, кстати с ним дружат в основном

вроде метью с ним слегка ругался и вообще, но я его слегка понимаю

там некоторые проблемы затронули проекты, на которых люди теряли по полдня-день из-за всяких проблем с hvr

..но это т.к. они не читают reddit

Leonid
22.01.2018
13:20:57
в наше время социальные интеракции очень важны, да.

Теперича когда любая группа людей объедененная любым признаком называется "сообщество"

Например сообщество хаскель программистов, сообщество левшей, сообщество толстых мужиков с пивом играющих в дотан

A64m
22.01.2018
13:32:04
А можно ли вообще в ML-подобном языке нормальные записи сделать?
смотря что требуется от "нормальных", у некоторых людей очень скромные запросы бывают

Index
22.01.2018
13:32:43
Идеальные рекорды это Пи-типы

Google
Index
22.01.2018
13:33:03
Только не очень производительные оверрайды выходят.

Leonid
22.01.2018
13:33:16
*fearless concurrency
это в другой чатик. вместе с zero-const abstractions, efficient c bindings и move semantics

A64m
22.01.2018
13:35:58
А чем плох backpack? Вроде ж крутая вещь, с отделением интерфейса модуля от собственно реализации
плох тем, что вербозный, тупой матчинг сигнатур, нету раздельной компиляции. непонятно только как он связан с моим комментарием про реакции на инициативы

Антон
22.01.2018
13:37:35
смотря что требуется от "нормальных", у некоторых людей очень скромные запросы бывают
Ну, в Haskell записи входят с довольно странным ad-hoc синтаксисом, который, например, не даёт нормально со вложенными записями работать. Так как аксессоры - просто функции, возникает проблема столкновения имён. И это не говоря уже о том, что вместо поля может оказаться жопа :(

Антон
22.01.2018
13:41:32
можно спокойно считать что рекордов в хаскеле до DuplicateRecordFields вообще не было
А синтаксис запись.поле в Haskell не будет из-за неоднозначностей с оператором композиции?

A64m
22.01.2018
13:42:19
ну да

но это мало что дало бы.

в хаскеле не хотят делать хитрый TDNR потому что он плохо с выводом типов сочетается

Антон
22.01.2018
13:43:02
но это мало что дало бы.
Ну, можно было бы с записями без таких костылей работать

A64m
22.01.2018
13:43:17
фактически же с DuplicateRecordFields TDNR добавили, правда крайне тупой

Антон
22.01.2018
13:43:49
A64m
22.01.2018
13:44:08
тайп директед нейм резолюшн

Index
22.01.2018
13:44:33
A64m
22.01.2018
13:44:55
Его еще отупить пропоузят же.
это ответ Гендри на пропозал его обумнить

Google
Leonid
22.01.2018
13:46:13
Вот если бы не стырили (.) на композицию функций, можно было бы вменяемый синтаксис сделать. А то кончились ascii символы

A64m
22.01.2018
13:47:04
нелюбовь к TDNR в языках с выводом типов вообще понятна, ну так делали бы TRex еще в 90-х, и допиливали его с годами, но нет

А что тогда рекорды?
в рекордах селекторы все-таки более необычные функции, из-за собственного неймспейса рекордов, TDNR, роу-полиморфизма

в DuplicateRecordFields собственный неймспейс и TDNR фактически появились

так что "просто синтаксис для объявления функций" уже не скажешь

Антон
22.01.2018
13:49:30
Ну Rust ведь умудряется с этим справляться /вброшено/

A64m
22.01.2018
13:49:58
Ну Rust ведь умудряется с этим справляться /вброшено/
там вывода типов нет, только локальная реконструкция

тут скорее на ocaml/f# ссылаться надо

A64m
22.01.2018
13:50:38
это и называется локальная реконструкция

Антон
22.01.2018
13:51:14
Есть мнение, что глобальный вывод типов переоценён

A64m
22.01.2018
13:51:14
при том в f# TDNR в основном угробил вывод типов

Leonid
22.01.2018
13:51:35
в хаскеле современном и так вывод типов хромает

A64m
22.01.2018
13:51:42
в окамле нет, но и там аннотации нужны постоянно (но их синтаксически сносными сделали)

ну и в окамле нормальные рекорды (полиморфные ) есть, только их под классы замаскировали

в хаскеле современном и так вывод типов хромает
все равно лучше чем в f# работает

Leonid
22.01.2018
13:53:07
я тоже предпочитаю у ghci выяснять тип функции что я только-что объявил.

Евгений
22.01.2018
13:54:13
Google
A64m
22.01.2018
13:54:22
в хаскеле надо было как в окамле делать простые и убогие рекорды и навороченные. Но нет, такое решение почему-то затряло, как будто все остальные фичи в хаскеле не продублированы.

с рекордами и модулями комитетчики нас, хаскелистов, сильно подвели

Vyacheslav
22.01.2018
13:54:51
Видели бы вы рекорды в идрисе

вот это топчик

там даже можно поля называть одинаково в разных рекордах в одном модуле

и никаких проблем с этим нет

Alexander
22.01.2018
13:55:58
прямо как в haskell?

A64m
22.01.2018
13:56:23
там даже можно поля называть одинаково в разных рекордах в одном модуле
в идрисе из-за перегрузки нужно применять квалификацию чуть менее чем везде. Я с таким адским адом еще ни в однм ФЯ не сталкивался, это наверное 30% моей ненависти к идрису обсепечило

Vyacheslav
22.01.2018
13:56:42
угу, если никаких проблем нет — это подключить пару расширений и все равно работает через одно место

Admin
ERROR: S client not available

Alexander
22.01.2018
13:57:03
GHCi, version 8.0.2: http://www.haskell.org/ghc/ :? for help IO error: "//usr/share/ghc-vis-0.8/ghc-8.0.1/ghci" does not exist Loaded GHCi configuration from /home/qnikst/.ghci [1 of 1] Compiling Main ( 99877.hs, interpreted ) Ok, modules loaded: Main. *Main> :i A data A = A {Main.foo :: Int} -- Defined at 99877.hs:1:1 *Main> :i B data B = B {Main.foo :: String} -- Defined at 99877.hs:2:1

Vyacheslav
22.01.2018
13:57:04
никаких проблем с этим не встречал

A64m
22.01.2018
13:57:13
но в идрисе через это место вообще все имена работают

Alexander
22.01.2018
13:57:19
я встречал

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

если вектора и списки в одном файле есть, например

с конструкторами та же фигня

A64m
22.01.2018
13:58:20
при том что типами и так все проаннотировано, все равно не понимает ничерта, давай, давай, квалифицируй, к такому меня жизнь не готовила

Google
A64m
22.01.2018
13:59:02
foo (a :: A)

foo (b :: B)

Vyacheslav
22.01.2018
13:59:18
и что с этим не так?

A64m
22.01.2018
13:59:58
вербозно, но так рекорды в хаскеле вообще не нужно применять, надо через RecordWildcards

Leonid
22.01.2018
14:00:16
или lens

Vyacheslav
22.01.2018
14:00:27
ну потом просто возникает проблемы с тем, чтобы достать из рекорда что-то и проекции не работают(

Alexander
22.01.2018
14:00:34
в любом случае с идрисом было хуже

A64m
22.01.2018
14:00:40
примеров бы, а то может не разобрались просто до конца?
может и не разобрались, но от этого не легче

Alexander
22.01.2018
14:01:07
количество боли даже при простых задачах из курса Брагилевского было слишком много

Vyacheslav
22.01.2018
14:01:09
в любом случае с идрисом было хуже
а я вот пописал пару месяцев на идрисе для души, потом пару месяяцев на хаскелле

Vyacheslav
22.01.2018
14:01:22
и могу сказать, что убогие рекорды в хаскелле по сравнению с идрисом боьше всего бесили

но это ИМХО

может я тоже не разобрался

Leonid
22.01.2018
14:01:33
А нет предложений для расширения отключающего вообще генерацию ацессоров? а то префиксить линзы (или поля) бесит чутка

Alexander
22.01.2018
14:01:54
ну мне тяжело, я не могу поработать на идрисе сравнимое с haskell время, он сдохнет раньше

A64m
22.01.2018
14:02:10
меня бесит плохой вывод типов, хаскельные рекорды бесят, но и близко не как плохой вывод типов, так что я не фанат TDNR

Vyacheslav
22.01.2018
14:02:23
В идрисе нет вывода типов

Vyacheslav
22.01.2018
14:02:43
В идрисе зависимые типы и там задача вывода типа в общем случае неразрешима

A64m
22.01.2018
14:03:31
В идрисе зависимые типы и там задача вывода типа в общем случае неразрешима
в общем случае она и в хаскеле неразрешима, в частных, вполне распространенных случаях она разрешима еще как и этом можно пользоваться

Страница 756 из 1551