
Dmitry
29.05.2018
06:55:57
Мне по коду многое кажется неудачным. По последней ошибке - замена add на add @GenFun заменяет одну ошибку на другую ;-)
Кажется, что перекручено сильно...
А GADT туда не лезет?
Вроде для такого рода задач GADT самое то бывает

Google

Mikhail
29.05.2018
08:03:32
Всем привет. Подскажите, существует ли плагин для idea, который причесывает дизайн кода (аналог scalafmt) ?

Andrei
29.05.2018
08:06:02

Yuriy
29.05.2018
08:06:20
точно есть утилиты, которые можно запускать без idea
hindent, stylish-haskell, brittany, hfmt

Andrei
29.05.2018
08:06:56
в общем-то это и есть аналог scalafmt

Mikhail
29.05.2018
08:14:31
@cblp_su @develop7 спасибо, втащил hfmt

Yuriy
29.05.2018
08:17:30
только мне не нравится, как они причёсывают. у Хаскеля семантика слишком далека от синтаксиса. когда я руками расставляю блоки, код более читаемый
разве что stylish для импортов

Anatolii
29.05.2018
08:22:07
я пока тоже на stylish остановился
без форматеров
но коненчо иметь какой-то форматер единый было бы хорошо

Yuriy
29.05.2018
08:24:27
не думаю, что это возможно

Stepan
29.05.2018
08:24:52
Мне кажется хаскель крайне свободный в плане форматирования

Google

Stepan
29.05.2018
08:25:12
Например тот же блок if then else
Где-то его удобно одной строчкой
А где-то несколькими
Тем более хаскель настолько выразительный, что именно ручками расставлять акценты правильнее, автоматически врядли что-то можно адекватное сделать

A64m
29.05.2018
08:51:48
тем временем для 8.6, похоже, готово удаление старой фичи, комитет это уже принял, но работы над имплементацией я заметил только сейчас
убираются старые экстеншены DataKinds/PolyKinds, теперь эти прагмы будут включать TypeInType

Serghei
29.05.2018
08:59:33
Ребят а посоветуйте научпоп по категориям
чтобы доступным языком

Aleksey
29.05.2018
09:04:33

Denis
29.05.2018
09:05:31

Евгений
29.05.2018
09:05:53
Милевски переводили же, в чатике по теоркату был линк

Darwin
29.05.2018
09:06:12
Я в ТК так и не смог, к стыду, но в закладках из того, что тут рекомендовали — http://telegra.ph/Materialy-po-teorii-kategorij-12-22
Из самого доступного, что я встречал — лекции Брагилевского (есть на youtube), но всё равно очень тяжело идёт.
https://vk.com/home_kana?w=wall-135720595_743

A64m
29.05.2018
09:11:32
емнип, этот форматтер вообще декларации не мог форматировать до недавнего времени

Aleksey
29.05.2018
09:13:16
Хмм, просто "Retain newlines and comments unmodified". Ну ок

Kirill
29.05.2018
09:13:45
а если у меня есть модуль, можно как-то понять из какого он пакета? В GHCi например?
а, хотя уже нашёл этот модуль, но всё равно интересно, если кто в курсе

A64m
29.05.2018
09:15:16

Yuriy
29.05.2018
09:24:03

Google

Yuriy
29.05.2018
09:24:19
но это явно не оптимально
ghc-pkg надо посмотреть

Aleksey
29.05.2018
09:24:48
Оно вроде хуглится

Kirill
29.05.2018
09:24:53
он разве модули может показывать из пакетов?
с хуглом вопрос что модули они ещё и переименовываются :)

Aleksey
29.05.2018
09:25:37
Можно хуглить хуглом снапшота, если стек используется

Kirill
29.05.2018
09:25:37
хотя в случае стакана вроде хугл должен по снэпшоту искать
и в данном случае пакет не из снэпшота :)

Aleksey
29.05.2018
09:26:27
Всё хочу написать программку, которая будет брать снапшот их проекта и формировать строку для поиска (и скармливать браузеру)

Kirill
29.05.2018
09:27:14
ну да
но это надо ещё его иметь :)
питонячий __file__ отсутствует :(

Aleksey
29.05.2018
09:28:05
Так модуль же может наполняться из разных пакетов

Kirill
29.05.2018
09:28:23
расшифруй?
ты про определения из него?

Aleksey
29.05.2018
09:28:58
В разных пакетах можно иметь одинаковый путь и тогда неймспейсы вроде смержатся
(но это не точно)

Kirill
29.05.2018
09:29:13
да ну
фигня

Google

A64m
29.05.2018
09:31:24
интересно что ghci показывает имя пакета в тех случаях, когда зависимость от него только транзитивная.
Linear.Algebra.unitalRep ::
(adjunctions-4.3:Data.Functor.Rep.Representable f,
Linear.Algebra.Algebra
r (adjunctions-4.3:Data.Functor.Rep.Rep f)) =>
r -> f r
но как управлять этой вербозностью ghci чтоб он для всего показывал - я не знаю, может и никак.

Kirill
29.05.2018
09:34:16
хитро

Serghei
29.05.2018
09:34:28
Всем спасибо за ссылки по категориям ))

Kirill
29.05.2018
09:34:53
а там курс от баеса был? :)

Serghei
29.05.2018
09:35:32
Вроде нет
В любом случае даже если был продублируй плиз

Kirill
29.05.2018
09:36:03
https://johncarlosbaez.wordpress.com/2018/03/26/seven-sketches-in-compositionality/
по книжке Спивака

Serghei
29.05.2018
09:36:39
пасиб

Denis
29.05.2018
09:36:43

Kirill
29.05.2018
09:37:18
и ещё положительное слышал про http://www.math.jhu.edu/~eriehl/context.pdf

dimiii
29.05.2018
09:39:27

IC
29.05.2018
09:47:59
быстровопрос: можно ли MTL переписать на TypeFunctions вместо FunctionalDependencies?

Denis
29.05.2018
09:48:20

A64m
29.05.2018
10:01:29

IC
29.05.2018
10:01:47
успешно?

A64m
29.05.2018
10:01:50
просто не стал пользоваться никто
http://hackage.haskell.org/package/monads-tf

Index
29.05.2018
10:03:40
Сабмитнул Diff, который убирает -XTypeInType из GHC.

A64m
29.05.2018
10:05:14
вводящий в заблуждение анонс, мягко говоря

Google

Kirill
29.05.2018
10:12:51

Index
29.05.2018
10:14:39
Но сам флаг там только для совместимости уже, потом депрекейтнется

A64m
29.05.2018
10:16:59
лучше бы его оставили как синоним для DataKinds и PolyKinds

Index
29.05.2018
10:17:22
Ну вот он в этом диффе и стал синонимом

A64m
29.05.2018
10:17:52
это-то понятно, я про то чтоб всегда был такой синоним, а не депрекейтился

Index
29.05.2018
10:18:49
Название у него по историческим причинам, поэтому и хочется его убрать.

A64m
29.05.2018
10:20:11
да, но большой проблемы тут не вижу

IC
29.05.2018
10:21:11

Index
29.05.2018
10:21:27
Да я тоже большой проблемы не вижу. Все равно в конечном итоге все эти экстеншены заменятся на -XDependentHaskell

A64m
29.05.2018
10:21:28
нет
до этого итога далеко еще

IC
29.05.2018
10:24:32
я джва года такой экстеншн ещё ждать буду

Index
29.05.2018
10:24:39
Ну да. Один студент Ричарда берется парсеры термов и типов объединять. Не знает во что ввязввается наверное

A64m
29.05.2018
10:26:29
последний нормальный экстеншон будет и все, больше нечего добавлять, только подчеркивания в литералах всякие Ж(((

Index
29.05.2018
10:31:39
Да не, зависимые типы можно бесконечно допиливать же.

kana
29.05.2018
10:32:09
Интеграцию с линейными там

Index
29.05.2018
10:32:15
Какой-нибудь proof erasure прикручивать к оптимизатору и т.д.

A64m
29.05.2018
10:32:26
да, но крупный экстеншон-то последний

Index
29.05.2018
10:33:10
UnivalentHaskell придумают к тому времени

Denis
29.05.2018
10:33:36
бесстрашные