
Yuriy
28.01.2018
18:17:10
кстати, о денотационной семантике. где-нибудь есть достаточно официальный документ, в котором было бы достаточно полно написано, что должна делать каждая функция из Prelude, например?

Vitaly
28.01.2018
18:30:17

Aminu Saleh
28.01.2018
18:33:10
Hello my frend

Yuriy
28.01.2018
18:33:41

Google

Leonid
28.01.2018
19:30:46
https://twitter.com/jyothsnasrin/status/957595543194165249
А вы говорите ета не развивается

Sergey
28.01.2018
19:42:31
Всем привет, делаю сжатие хаффмана, можете подсказать идею, как записать в файл полученныую последовательность битов?

Yuriy
28.01.2018
19:46:54
Упаковать в байты и потом Data.ByteString.writeFile

Sergey
28.01.2018
19:54:35
так, хорошо, а сами биты использовать Data.Bits?
и последний момент. Допустим получилось следующее: 1110001110
Тут получается 1 байт + 2 бита. Как с таким быть? Если сформируется байт 10000000, как его потом правильно раскодировать?

Imants
28.01.2018
20:03:50
Byte - это Word8, не?

Yuriy
28.01.2018
20:04:21
ну, про нецелые байты — это вопрос вообще не про Хаскель, а про основы CS
Word8 — один из вариантов представления байта в Хаскеле

Imants
28.01.2018
20:06:18
[Word8] -> ByteString
Очень просто, "без шума и пыли"

Sergey
28.01.2018
20:07:47
окей, спасибо, буду разбираться

Imants
28.01.2018
20:08:58
Data.Bits, Word8, ByteString
Должно хватить

Yuriy
28.01.2018
20:09:13

Google

Yuriy
28.01.2018
20:09:53
или это в качестве идеи?
идейно [Word8] и ByteString — вообще одно и то же
или я не понял

Imants
28.01.2018
20:12:38
Например, пустой байт:
fromInteger 0
pack :: [Word8] -> ByteStringSource#
O(n) Convert a '[Word8]' into a ByteString.
Почти одно и то же, но не совсем
Нецелые байты (напр., nibble) неудобны
Кстати, в эрланге используют пол-байта в целях экономии:
http://erlang.org/doc/apps/erts/erl_ext_dist.html

Dmitry
29.01.2018
06:20:07
Подскажите, а как отключить Stack в системе??
Я удалил ~/.stack, запускаю в проекте hdevtools, и он начинает качать stack
Cabal file: Just "/home/dima/datamarket.exp/dmsr.cabal"
Writing implicit global project config file to: /home/dima/.stack/global-project/stack.yaml
Note: You can change the snapshot via the resolver field there.
Using latest snapshot resolver: lts-10.4
Downloading lts-10.4 build plan ...
Downloaded lts-10.4 build plan.
Как сделать, чтобы не качал?
stack.yaml в текущем проекте тоже нету

Yuriy
29.01.2018
06:24:00
сделать alias stack=false в том окружении, где запускаешь hdevtools
но я подозреваю, что hdevtools не будет работать без stack

Dmitry
29.01.2018
06:25:20
До установки stack работал :(
Не, не хочет через alias stack=false

Aleksey
29.01.2018
06:26:16
бинарь стэка то точно остался, может его детектит?

Dmitry
29.01.2018
06:26:36
Даже если /usr/bin/stack удалить, всё равно пытается lts-10.4 скачать.
А, во, он ещё в ~/.local/bin/stack был

Google

Dmitry
29.01.2018
06:27:35
Там удалил, hdevtools заработал.
Придётся извращаться с PATH, чтобы в одном проекте был stack, а в другом не было.

Aleksey
29.01.2018
06:31:49
> For projects with custom build systems, you can prevent hdevtools from detecting a global stack.yaml configuration with the argument —nostack.
--nostack можно положить в .hdevtoolsrc внутри проекта
(это всё я из ридми взял, сам не пробовал)

Dmitry
29.01.2018
06:33:53
Спасибо!
Сейчас поставлю свежую версию, в моей этот флаг не работает
Во, свежая опция поддерживает флаг и не ищет stack!
Спасибо за помощь!

Aleksey
29.01.2018
06:43:36
?

Alexander
29.01.2018
09:56:08
это канал об аниме? никто не делал workspace в xmonad, т.е. чтобы включив определенный workspace можно было переключаться между готовыми списками окон с их лейаутом и т.п.?

Дмитрий
29.01.2018
09:59:11
>это канал об аниме?
Упрт, а есть ли на хакаж пакеты чья задача делать что-то с аниме? Не знаю, кашачьи ушки девочкам дорисовывать?
(зависимость от библиотки нейроситей прилагается, да)

Alexander
29.01.2018
09:59:25
acme-cute-girl?
https://hackage.haskell.org/package/acme-cutegirl-0.2.0.0/docs/Acme-CuteGirl.html
хм.. а не
или в старых версиях оно ansii art рисовало
хм.. наверное нет, с чем-то перепутал

Denis
29.01.2018
10:01:37
https://github.com/leptonyu/odpic-raw

Дмитрий
29.01.2018
10:06:19
Лол.
data CuteGirl
Source
Cute girls capable of doing cute stuff
Constructors
Sayaka
Kyōko
Homura

Google

Denis
29.01.2018
10:08:06

Дмитрий
29.01.2018
10:08:52
Блин, лол, то чувство, когда знаешь, кого именно печатает эта библиотека :)))
Не пойму, а почему там отсутствует Madoka???
:))

Denis
29.01.2018
10:09:28
веобу везде

Дмитрий
29.01.2018
10:09:35

ParkeT
29.01.2018
10:10:00
лол.

Denis
29.01.2018
10:10:03

Admin
ERROR: S client not available

Дмитрий
29.01.2018
10:10:55
Да ладно тебе, будь терпимие :)
Тем более, что в школе я общался исключительно литературным языком :)

Index
29.01.2018
10:10:55
Тем временем скоро QuantifiedConstraints и ImplicationConstraints скоро подвезут, кажется. https://ghc.haskell.org/trac/ghc/ticket/2893#comment:28
> I'll try to get it up on Phabricator on Monday
<soon>

Denis
29.01.2018
10:11:40

Дмитрий
29.01.2018
10:12:44
Вот кстати тоже хотел спросить, что я могу написать с ними проще, чем без них? Какой юзкейс?

Index
29.01.2018
10:12:46
Как минимум что-то вроде forall a b. Coercible a b => Coercible (f a) (f b), а это значит join в Monad можно добавить и GND останется жив

Denis
29.01.2018
10:12:56
квантификация в констрейнтах?)

Index
29.01.2018
10:13:12
Во-вторых была тонна юз-кейсов в transformers (там для этого Eq1, Show1, etc), в pipes, и других либах
В constraints сейчас для этого страшные хаки
Взять тот же MonadTrans класс, он должен по-хорошему иметь в суперклассе forall m. Monad m => Monad (t m)
Этот коммит если реализует всё то, на что у меня текут слюни, просто с невероятным скоупом фича.
Как только в HEAD завезут пойду пробовать.

Leonid
29.01.2018
10:15:54
8.6 будет с фичами!

Google

Дмитрий
29.01.2018
10:15:55
И явно не в 8.6

Denis
29.01.2018
10:16:54

Leonid
29.01.2018
10:16:59
Зависимые типы не нужны.

Дмитрий
29.01.2018
10:17:29

Denis
29.01.2018
10:18:01

Index
29.01.2018
10:18:15

Leonid
29.01.2018
10:19:30
у меня припекло
Да просто хайпят их сильно, а профита будет мало. Сам же знаешь что адвансед тайп мэджик в продакшон не берут.
С линейными также

Index
29.01.2018
10:20:08
Профит надо уметь извлекать из фич, у зависимых типов для этого потенциал очень большой, у линейных поменьше
Сейчас весь type-level magic делать очень больно, вот его и не хочется не то что в продакшн, но временами и в целом, делать.
А когда функции будут промоутиться и давать нормальное частичное применение на типах, синглтоны не нужно будет делать умножая количество определний на три, тогда уже становится реально их применить и не сойти с ума.

Denis
29.01.2018
10:22:24

Index
29.01.2018
10:23:27
Вообще всё что требует TH это то, что не вписалось в стоковые абстракции языка, а значит где-то там хаки
синглтоны это по определению TH-тулкит, так что о чем вообще речь, конечно это хак
Я еще не задумывался над тем, как должны выглядеть синглтоны синглтонов, но у меня точно есть юз-кейсы для зависимых типов "второго порядка" так сказать, где типы данныъ зависят от данных, типы которых зависят от других данных