@haskellru

Страница 675 из 1551
Alexander
13.12.2017
17:10:26
Denis
13.12.2017
17:11:34
нет
https://github.com/justinwoo/records-fields-pairwise#records-fields-pairwise

Google
Denis
13.12.2017
17:11:54
similar to RowLists in PureScript

A64m
13.12.2017
17:12:13
ну на дженериках-то можно, имеется в виду что в ORF ничего такого нет

Denis
13.12.2017
17:13:46
ну на дженериках-то можно, имеется в виду что в ORF ничего такого нет
ну и еще помню смотрел доклад https://youtu.be/aDcp7OmCwBM?list=WL&t=2141

Dmitry
13.12.2017
17:15:13
а напомните, плс, адрес живого rust- чатика

A64m
13.12.2017
17:15:14
поддерживать тайплевел строки в метаинформации дженерики тоже стали с 8.0 так что вот где-то с того релиза фичи для того чтоб рекорды делать есть

Dmitry
13.12.2017
17:15:18
наверное, пойду туда сдаваться

A64m
13.12.2017
17:15:33
времена компиляции только адовые от всего этого будут, конечно

A64m
13.12.2017
17:58:11
А? Что?

Pineapple
13.12.2017
17:59:45
Оказывается можно брать метки из женериков. Это же прекрасно можно попробовать впилить из дата фреймы, а то я их что-то совсем забросил

Alexander
13.12.2017
18:00:38
а что где?

Pineapple
13.12.2017
18:00:54
Пришёл всех напугал

Google
A64m
13.12.2017
18:02:32
да, с информированием о новых фичах у хаскелистов точно не все в порядке

Pineapple
13.12.2017
18:03:10
Ну и ещё и я слоупок

? animufag ?
13.12.2017
18:04:23
да каждый раз смотришь на список изменений, вроде всё скучно, вроде просто расширений подобавляли. потом оказывается что люди зависимые типы делают

A64m
13.12.2017
18:07:34
это, кстати, для датафреймов все равно невесело, любым такстом-то название геттера быть не может (как в F# каком-нибудь)

Евгений
13.12.2017
18:32:56
да каждый раз смотришь на список изменений, вроде всё скучно, вроде просто расширений подобавляли. потом оказывается что люди зависимые типы делают
Нужно просто, чтобы кто-нибудь вёл блог с подборками самого интересного. Типа блога, который в openmw ведут. А перечисление ченджлога это дно, конечно.

A64m
13.12.2017
18:58:02
вообще чейнджлог у ghc нормальный, там и "самое интересное" отдельно есть, и описание фич

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

Quet
13.12.2017
18:59:03
мануалы вообще не очень читают

A64m
13.12.2017
18:59:09
да

Alexander
13.12.2017
18:59:14
а зря..

Quet
13.12.2017
18:59:38
видос который кидали (где индус докладывает) он как -- годный?

Leonid
13.12.2017
19:01:07
Люди вообще не читают, и это печально. Особенно печально что люди ждут что ты почитаешь и им все за минуту объяснишь. Люди вообще фу.

A64m
13.12.2017
19:01:15
по новым фичам в гхц каждый год делают виидео с СПЖ (но в этот раз, похоже, на неосновных мероприятиях на icfp ничего не записали)

также есть два раза в год обзоры новых фич в гхц в комьюнитис анд активитис репорт

A64m
13.12.2017
19:02:57
но это-то точно никто не читает

A64m
13.12.2017
19:04:29
а, точно вчера снова начали выкладывать, а то 2 недели пауза была

там пока лисперов только выложили кроме основных

Google
kana
13.12.2017
20:07:39
@elemir90 ты как-то писал, что множество - пара из принадлежности и равенства, но зачем равенство, если (∀ α ∈ A. α ∈ B) ∧ (|A| = |B|) ⇔ A = B или (∀ α ∈ A. α ∈ B) ∧ (∀ α ∈ B. α ∈ A) ⇔ A = B да и как получить мощность множества за конечное время (или в математике это не значения)?

A
13.12.2017
20:16:23
в хаскеле есть стандартная такая функция ? f :: a -> b -> c f a b = a b b

kana
13.12.2017
20:17:13
у тебя по сигнатуре один аргумент

а так, ну напиши ее и используй f $$ x = f x x infixr 0 $$ а, или join, точно

A64m
13.12.2017
20:18:50
такая? > join (+) 2 4

Евгений
13.12.2017
20:19:43
@elemir90 ты как-то писал, что множество - пара из принадлежности и равенства, но зачем равенство, если (∀ α ∈ A. α ∈ B) ∧ (|A| = |B|) ⇔ A = B или (∀ α ∈ A. α ∈ B) ∧ (∀ α ∈ B. α ∈ A) ⇔ A = B да и как получить мощность множества за конечное время (или в математике это не значения)?
Первое утверждение не верно, контрпример -- B это натуральные числа, а А это натуральные числа без единицы. Второе утверждение это аксиома теории множеств, её неоткуда "вывести". Она задаёт взаимоотношения принадлежности и равенства, да

Евгений
13.12.2017
20:21:10
Конечно, счётная

Egoarka
13.12.2017
20:21:54
соре за офтоп, есть чаты какиенить по матану и дискретке?

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

Xeta Felius
13.12.2017
20:27:34
> stack solver Using configuration file: stack.yaml Using cabal packages: - .\ Using resolver: lts-9.18 Solver requires that cabal be on your PATH Try running 'stack install cabal-install' что-то странное. Вроде утверждается, что stack

— не надстройка над cabal Однако оно его запросило O_o

A64m
13.12.2017
20:29:31
stack solver это запускалка кабал инсталла и есть

солвера то больше нигде и нет

Евгений
13.12.2017
20:30:01
соре за офтоп, есть чаты какиенить по матану и дискретке?
Только по теории категорий (в котором никого пока нет)

kana
13.12.2017
20:30:14
о, кидай

Alexander
13.12.2017
20:30:23
двай

Евгений
13.12.2017
20:32:58
Никого нет это не приувеличение

@ru_catheory

Опять у меня будет чат из 10 хаскелистов, лол

Google
Xeta Felius
13.12.2017
21:00:48
Поржите надо мной. ЧТобы добавить пакет в зависимости надо было править package.yaml, а я правил stack.yaml

kana
13.12.2017
21:02:01
иногда приходится править оба файла (если package.yaml это %package%.cabal, а то такого файла я не видел)

A64m
13.12.2017
21:02:30
сейчас напишут, что ни того, ни другого файла вообще не должно быть

Xeta Felius
13.12.2017
21:03:32
Ну... stack.yaml регенерится при stack solver — update-config

и походу исходя из содержимого package.yaml

A
13.12.2017
21:05:56
есть у меня обработчики хттп запросов типа request -> io response есть диспатчер запросов, который бегает по роутам и выбирает "правильный" обработчик есть у полученного роута функция типа route -> request -> text -> text, которая может вернуть значение параметра хочу чтобы обработчик запросов в итоге выглядет примерно так somethingHandler = do a <- param "foo" b <- session "user_id" return Response 200 (a + b) проблема в чём - нет полного понимания как сделать автоматическую привязку запроса к функциям param и session и возможно ли, то есть я хочу чтобы запрос первым аргументом был

вопрос - как?

kana
13.12.2017
21:08:08
твой код например может запускаться в Reader Request Response а param это Text -> Reader Request (Maybe Text)

Admin
ERROR: S client not available

kana
13.12.2017
21:08:42
ну там еще IO будет, поэтому Monad m => ReaderT Request m (Maybe Text)

kana
13.12.2017
21:09:25
ну если ты хочешь читать из реквеста в монадическом стиле, то да

я бы даже завернул в свою монаду и получился бы scotty

A
13.12.2017
21:10:36
в скотти ад какой-то с actionT

kana
13.12.2017
21:10:53
ну ActionT у тебя и получится свой в итоге)

а почему ад?

Xeta Felius
13.12.2017
21:12:36
Блин. Вот тут во втором ответе написано редактируйте стак ямл. Не работает же. T_T https://stackoverflow.com/questions/31030438/how-to-install-a-package-using-stack А вот в пакадж ямл прокатило

A
13.12.2017
21:12:49
вообще у меня какое-то раздражение от исходников проектов на хаскеле, вот читаешь все эти на первый взгляд красивые и умные вещи про "правильную" композицию с помощью теории категорий, а потом открываешь какой-нибудь скотти и тебе кажется, что оно там используется как-то извращённо, то есть не добавляет понимания, а кажется наоборот

Google
A
13.12.2017
21:13:07
есть один большой и толстый ActionT, который делает всё

скорее всего это из-за недостатка опыта

A
13.12.2017
21:15:10
Значит надо создать свой язык. С багами и костылями!)
у меня никаких претензий к языку вообще

kana
13.12.2017
21:15:54
ну вот ActionM это просто обертка над 1) эксептом, то есть мы можем кидать и кетчить эксепшены в экшонах 2) ридером над реквестом 3) стейтом над респонсом



вот на хакадже - https://hackage.haskell.org/package/scotty-0.11.0/docs/src/Web-Scotty-Internal-Types.html#ActionT

kana
13.12.2017
21:18:39
https://github.com/scotty-web/scotty/blob/master/Web/Scotty/Internal/Types.hs#L138 а вот на гитхаье

ну стейт прикрутили для того наверное, чтобы респонс формировать по-отдельности, а не просто return-ном, например setHeader "header1" "2" setHeader "header2" "3" text "hello" pure () если бы можно было респонс только возвращать, был бы ад, если бы в одной функции мы бы формировали хидеры, а в другой боди, потом бы таскали эти значения по коду, чтобы где-то в конце хендлера вернуть

а state вместо writer наверное потому что нужно еще читать, что там в хидеры уже записали-то

Xeta Felius
13.12.2017
21:26:44
у меня никаких претензий к языку вообще
Ну... кое какие интересные фичи бы добавил, кое что убавил бы. :D А так определённо это шаг вперёд :3

в смысле этот язык :3

kana
13.12.2017
21:27:41
ну у меня к хаскелю тьма претензий, начиная от прелюдии заканчивая рекордами, а это я пока с языком особо не работал и не знаю почти всех его проблем

Xeta Felius
13.12.2017
21:27:42
С другой стороны может и добавилось уже пока я его не "трогал"

Ну рекорды да

Интересно, а какие конкретно у тебя претензии к прелюдии, и какие другие претензии?

kana
13.12.2017
21:38:55
1) String через список 2) много косяков из-за того, что язык старый, а обратную совместимость поддерживать нужно, например с полугруппами (которые относительно недавно добавлены), которые "наследуются" от моноидов, а не наоборот. Или монады, которые только недавно стали наследовать от апликативов и еще и pure дублируют 3) опасные функции типа head, которые предпочитаемо должны отдавать Maybe или помечаться как unsafe 4) имена идентификаторов придуманы от балды, кто блин догадается, что first это map первого элемента бифунктора, а fst - это взять первый элемент пары 5) где-то в тайпклассах операторы, где-то текстовые имена функций [и алиасы] 6) ну base имхо попросту жирный какой-то 7) некоторые ужасно жирные тайпклассы типа Num это вот то что сходу к прелюдии вспомнил можно посмотреть на https://pursuit.purescript.org/packages/purescript-prelude/3.1.0, вот там все имхо близко к совершенству

Denis
13.12.2017
21:42:31
1) String через список 2) много косяков из-за того, что язык старый, а обратную совместимость поддерживать нужно, например с полугруппами (которые относительно недавно добавлены), которые "наследуются" от моноидов, а не наоборот. Или монады, которые только недавно стали наследовать от апликативов и еще и pure дублируют 3) опасные функции типа head, которые предпочитаемо должны отдавать Maybe или помечаться как unsafe 4) имена идентификаторов придуманы от балды, кто блин догадается, что first это map первого элемента бифунктора, а fst - это взять первый элемент пары 5) где-то в тайпклассах операторы, где-то текстовые имена функций [и алиасы] 6) ну base имхо попросту жирный какой-то 7) некоторые ужасно жирные тайпклассы типа Num это вот то что сходу к прелюдии вспомнил можно посмотреть на https://pursuit.purescript.org/packages/purescript-prelude/3.1.0, вот там все имхо близко к совершенству
http://dev.stephendiehl.com/hask/#what-to-avoid

1) String через список 2) много косяков из-за того, что язык старый, а обратную совместимость поддерживать нужно, например с полугруппами (которые относительно недавно добавлены), которые "наследуются" от моноидов, а не наоборот. Или монады, которые только недавно стали наследовать от апликативов и еще и pure дублируют 3) опасные функции типа head, которые предпочитаемо должны отдавать Maybe или помечаться как unsafe 4) имена идентификаторов придуманы от балды, кто блин догадается, что first это map первого элемента бифунктора, а fst - это взять первый элемент пары 5) где-то в тайпклассах операторы, где-то текстовые имена функций [и алиасы] 6) ну base имхо попросту жирный какой-то 7) некоторые ужасно жирные тайпклассы типа Num это вот то что сходу к прелюдии вспомнил можно посмотреть на https://pursuit.purescript.org/packages/purescript-prelude/3.1.0, вот там все имхо близко к совершенству
ну и его protolude

kana
13.12.2017
21:44:12
ну я использую universum [иначе меня уволят], который как раз на protolude базируется

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