@haskellru

Страница 1324 из 1551
Yuriy
04.07.2018
09:37:47
Aleksey
04.07.2018
09:38:15
хмм. А "включить для репозитория" нельзя?

Yuriy
04.07.2018
09:38:48
правда, из-за пробелов могут быть проблемы с автоматическим слиянием, но редко

Google
Yuriy
04.07.2018
09:43:32
хмм. А "включить для репозитория" нельзя?
я рецензирую через Reviewable.io, а там можно

Саня
04.07.2018
10:49:19
Привет, подскажите, делаю запрос в бд на удаление таким образом: con <- liftIO conn _ <- liftIO $ delTodoItem con where delTodoItem :: Connection -> IO [TodoItem] delTodoItem c = query_ c "DELETE FROM todo" удаление происходит, но при этом вылетает <interactive>: QueryError {qeMessage = "query resulted in a command response", qeQuery = "DELETE FROM todo"} и дальше ниче не работает, что-то в запросе не так или в чем дело?

Pineapple
04.07.2018
10:50:25
Если пакет whateversqk-simple, то наверное нужен. execute, а не query

Саня
04.07.2018
10:51:03
Я использую postgresql-simple

Aleksey
04.07.2018
10:51:22
query что-то выбирает из БД и возвращает. DELETE, это команда

нужно делать execute (или даже execute_)

Саня
04.07.2018
10:55:25
Да, точно,а что дает _ ? до этого без него пробовал и не срабобтало

Aleksey
04.07.2018
10:57:01
В доке всё написано

> A version of execute that does not perform query substitution.

"DELETE FROM todo" как раз без параметров

Саня
04.07.2018
10:58:40
недогледел, спасибо)

Yuriy
04.07.2018
11:30:21
кроме того, "DELETE FROM todo" вряд ли возвращает [TodoItem]

Саня
04.07.2018
11:38:15
да, это тоже заметил уже, исправил)

Google
Aleksey
04.07.2018
12:33:16
Как мне из призмы сделать Getter с Maybe? Prism' s a -> Getter s (Maybe a)

Index
04.07.2018
12:34:50
to (preview prsm)

Aleksey
04.07.2018
12:39:42
хмм

А Getting случайно не обобщит мне Getter s (Maybe a) и Prism' s a?

Index
04.07.2018
13:15:22
pre - неплохо

preview = view . pre и to . view это почти id, то to . preview = pre

можно просто to . view убрать лишние из моего варианта и получить pre

Aleksey
04.07.2018
13:24:52
Оставил pre, всем спасибо!

Ilya
04.07.2018
16:37:27


На степике есть задача про конкатенацию контейнеров с нечетным числом элементов. Помогите найти придумать тест, на котором оно валится с 'Runtime error main: out of memory' в их системе, а то на моих локальных тестах всё ок :( P.S. Решение мне кидать не надо, хочу сам ошибку найти. Тем более, что одно рабочее решение у меня есть, сейчас просто решаю другим способом.

Бесконечные контейнеры тоже пробовал, но видимо недостаточно бесконечные

Aleksey
04.07.2018
16:39:13
при паттернматчинге лишнее матчится, поэтому при некоторых бесконечных последовательностях получается перерасход памяти

Ilya
04.07.2018
16:39:59
ну вот мне тест бы конкретный, а то устал уже в код вглядываться

Aleksey
04.07.2018
16:40:02
Есть в новичковом чате разбор ровно этого задания. Но там есть куски решения, так что осторожнее :)

Ilya
04.07.2018
16:40:26
да разбор нафиг, тем более что я его решил уже по-другому (не через [])

Aleksey
04.07.2018
16:41:05
Там тоже "не через"

Ilya
04.07.2018
16:41:45
я на таких тестировал inf x = Bi x x (inf x) inf2 = Bi x x (Un x) where x = inf 1 inf3 = inf (inf 1) inf4 = inf (inf (inf 1))

и кажется, что всё нормально работает, т.е. продуктивно

Google
Aleksey
04.07.2018
16:42:30
Про конкретные ничего сказать не могу, мы само решение обсуждали, а не тесты

Ilya
04.07.2018
16:43:08
да там тривиальное решение

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

мне оно показалось красивее, хотя и многословнее

Oleg
05.07.2018
04:55:58
Скажите, а с Quantified Constraints эта пачка всё ещё будет нужна? http://hackage.haskell.org/package/base-4.11.1.0/docs/Data-Functor-Classes.html#g:2

@A64m_qb0

Index
05.07.2018
07:01:45
Нет

Oleg
05.07.2018
07:02:26
Так и думал, спс

Yuriy
05.07.2018
09:08:36
в Гиттере спрашивают > Всем привет! Вопрос к знатокам eventlog: можно через него визуализировать на что уходит память? Как это сделать? :) > В мануале написано, что heap profiling туда события эмитит, но как потом посмотреть что происходило? > hp2ps мне не помог - "samples out of sequence" даже если компилировал без -threading. https://gitter.im/ruHaskell/forall

Kirill
05.07.2018
09:32:32
@qnikst вы вроде такое делали про память через eventlog, ничего в паблик не попало?

Слава
05.07.2018
11:08:10
query что-то выбирает из БД и возвращает. DELETE, это команда
Насколько я помню, delete может возвращать количество удалённых записей.

Aleksey
05.07.2018
11:08:46
Может, но в том примере это не требовалось

Alexander
05.07.2018
13:55:36
полноценного решения у нас не было

Kirill
05.07.2018
15:14:43
а что тыб посчитал полноценным решением в данном случае?

Alexander
05.07.2018
15:21:48
либу, которую можно прицепить к своей программе и получить данные в машиночитаьельном виде

Kirill
05.07.2018
15:27:32
прям вообще с минимум телодвижений? былоб круто

Alexander
05.07.2018
15:28:36
но я не знаю как такое делать правильно

Google
Vyacheslav
05.07.2018
20:43:48
А подскажите где хорошего почитать про стримы и около того?

Yuriy
05.07.2018
20:48:28
про кондуиты — статьи Сноймана на fpcomplete

у пайпов есть модуль Pipes.Tutorial

господа, подскажите, есть ли имя у either id id?

kana
05.07.2018
20:52:04
fromEither говорит хугл

Yuriy
05.07.2018
20:56:30
о, возьму id ||| id, если захочу запутать читателя

A64m
05.07.2018
21:20:26
Vyacheslav
05.07.2018
21:23:52
Это я нашел

Admin
ERROR: S client not available

A64m
05.07.2018
21:24:35
киселева еще можно почитать

Vyacheslav
05.07.2018
22:03:53
думал есть что-то побольше

? animufag ?
06.07.2018
00:03:37
Не думал что концепт настолько сложный что нужно читать киселева

shadowjack
06.07.2018
07:51:14
Почему я могу сказать 1 :: Sum Int но не могу сказать True :: All?

Ilya
06.07.2018
07:55:30
Потому что численные литералы перегружены

Общий тип 1 -- Num a => a

А True -- просто конструктор

shadowjack
06.07.2018
08:50:32
И как это помогает из Num сделать Sum Int (не Int!)?

Yuriy
06.07.2018
08:52:02
существует instance Num (Sum a), что позволяет Sum выглядеть и вести себя как число

Google
shadowjack
06.07.2018
09:06:16
Нет понятно что Sum ведёт себя как число. За счёт чего я могу Num привести к Sum Int?

Yuriy
06.07.2018
09:07:42
за счёт instance

Pineapple
06.07.2018
09:07:56
Num — класс типов, Sum Int — тип. У него есть инстанс Num

Yuriy
06.07.2018
09:08:47
1 :: Num a => a требует предоставить ей любой a, для которого выполняется Num a

Евгений
06.07.2018
09:09:10
Если выражаться "обыкновенным" языком, то Num это интерфейс, а Sum Int тип. Мы можем использовать 28, 45, прочие цифровые литералы в качестве любого типа, реализующего интерфейс Num

Yuriy
06.07.2018
09:10:07
для Sum b выполняется Num (Sum b), что декларируется соответствующим instance

shadowjack
06.07.2018
09:11:00
Конкретно видимо из-за fromInteger

Yuriy
06.07.2018
09:12:20
Конкретно видимо из-за fromInteger
это детали реализации, к сути не относится

shadowjack
06.07.2018
09:12:37
Потому что я не могу сказать 1.5 :: Sum Float

Pineapple
06.07.2018
09:14:49
Да Num есть, а Rational нет

shadowjack
06.07.2018
09:16:08
Хаскель автоматически диспатчит fromX?

Yuriy
06.07.2018
09:25:25
Хаскель автоматически диспатчит fromX?
смотря что ты имеешь в виду

Хаскель автоматически диспатчит fromX?
автоматически диспатчатся любые вызовы методов любых классов, можно так сказать

Ilya
06.07.2018
09:28:10
Потому что я не могу сказать 1.5 :: Sum Float
потому что нет instance Fractional a => Fractional (Sum a)

Кстати, почему?

точно так же как 1 -- перегруженный числовой литерал, который может быть приведен к любому типу с инстансом Num, 1.5 -- это перегруженный дробный (`Fractional`) литерал, который, в свою очередь может быть приведен к любому типа, реализующему Fractional

{-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE StandaloneDeriving #-} import Data.Monoid deriving instance Fractional a => Fractional (Sum a)

> 1.5 :: Sum Float Sum {getSum = 1.5}

Yuriy
06.07.2018
09:37:31
Кстати, почему?
из-за округления моноидные законы могут не выполняться

Pineapple
06.07.2018
09:40:46
Они выполняются приближённо

Ilya
06.07.2018
09:40:47
я подумал об этом, но вроде бы это тут никак не влияет

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