
Anatolii
22.03.2017
19:30:38
статейка была
я пробовал читать, пока рановато

Alexander
22.03.2017
19:31:23
ага, он через default signatures запилил вариант, который дефолтные методы хитрые делает чтобы наследование получить
ну не хитрые, в общем-то единственное решение напрашивающееся, но Олег его не заметил

Google

Anatolii
22.03.2017
19:31:56
https://ro-che.info/articles/2016-02-03-finally-tagless-boilerplate
вот статейка если кому интересно

Serghei
22.03.2017
20:15:03
https://stackoverflow.com/insights/survey/2017/
> Top Paying Technologies by Region
ничоси

Misha
22.03.2017
20:59:09
ничоси
занятно, что хаскела всего вдвое меньше, чем скалы
а скалы дофига
"дофига" это уже по личному опыту

Serghei
22.03.2017
21:00:35
Вообще приятно конечно, что Хаскел признан не только девелоперами но и бизнесом
Даже удивительно

Misha
22.03.2017
21:01:28
ну как сказать, "приятно" конечно, но как набежит куча говнокодеров и начнет в гитхабы строчить
и не избежать успеха

? animufag ?
22.03.2017
23:37:24
> Top Paying Technologies by Region
только сейчас посмотрел ссылку.
ну там всё нормально на самом деле. во всякое фп джунов не берут
где-то года 3 назад для себя уяснил, что хоть и появляются вакансии на хаскель там или мл, но мне там ничего не светит. человек на той вакансии уже должен всё подряд уметь (или грамотно лечить что умеет), а язык это фон.
на самом деле такое явление не фп-спецтфичное, но не знаю как его обобщить

Google

Dmitry
23.03.2017
10:30:46
Кто-нибудь использовал это https://hackage.haskell.org/package/boomerang
и может есть что-то такое-же, но лучше? Что нужно: парсер и претти-принтер два в одном. для dsl-ей

Mansur
23.03.2017
11:19:41

Dmitry
23.03.2017
11:20:04
да, это вижу. бумеранг сделан по мотивам, ссылается на это
что-то оно всё какое-то стрёмное.

? animufag ?
23.03.2017
17:52:45
https://hackage.haskell.org/package/boomerang-1.4.5.2/docs/Text-Boomerang.html
не понимаю почему там постоянно используется слово претти
ну то есть идея примерно понятна: для твоего языка есть детерменированный парсер и даже в таком раскладе нет одназначного вывода для твоего аст в этот язык, и просто берём первый попавшийся вывод и называем его претти чтобы не было вопросов почему именно этот

corpix
23.03.2017
17:54:46
Я чёт тоже не понял, он же просто парсит текст по указанной грамматике и сворачивает его обратно

? animufag ?
23.03.2017
17:55:49
но наверное там ещё должны быть какие то костыли чтобы выдавать более ожидаемый вывод (ну знать где ставить пробелы, переносы строк)

corpix
23.03.2017
17:57:29
Ну поидее это всё часть грамматики, так что должно задаваться при её описании. Хотя хз как в этой либе сделано

? animufag ?
23.03.2017
18:00:05
кстати в примере всё сделано однозначно
rBaz . many("baz-") . int . "-" . alpha
вот в такой ситуации как бы он себя повёл?
возможно здесь есть какая-нибудь хитрость, мол либа заставляет всю эту информацию сохранять в конструкторе типа, но скорей всего нет

corpix
23.03.2017
18:07:05

? animufag ?
23.03.2017
18:08:43
да я в никуда говорю, не принимай вопросы лично
ну хотя когда никто не пишет – тоже нет мотивации писать

corpix
23.03.2017
18:10:52
Ну мне тоже интересно узнать детали о том как это сделано, я скорее к этому написал :)

? animufag ?
23.03.2017
18:14:47
-- | Give all possible serializations.
unparse :: tok -> Boomerang e tok () url -> url -> [tok]
unparse tok p = (map (($ tok) . fst)) . ser p
-- | Give the first serialization, for Boomerangs with a serializer that needs just one value.
unparse1 :: tok -> Boomerang e tok () (a :- ()) -> a -> Maybe tok
unparse1 tok p a =
case unparse tok p (a :- ()) of
[] -> Nothing
(s:_) -> Just s
на этом остановлюсь, хотя звучит интересно
гетерогенный стек зачем-то используется
возможность получить то самое бесконечное число сериализаций

Konstantin
23.03.2017
20:03:01
call me
call me asacp

Google

Евгений
24.03.2017
15:58:31
У массивов Data.Array бывают undefined значения. А можно как-то проверить (не перехватывая исключения), что определено ли оно?

Misha
24.03.2017
16:50:42
не перехватывая исключения, в смысле? никак наверное
бьюсь головой в стену:
update :: (Typeable v, Binary v) => Log k v -> Process ()
update _ = do
m2 <- expectTimeout timeout :: Process (Maybe v)
...
говорит Could not deduce (Typeable v1)
arising from a use of ‘expectTimeout’
from the context: (Typeable v, Binary v)
bound by the type signature for:
update :: (Typeable v, Binary v) =>
Log k v -> Process ()
чего ему надо?
при том, что
:t expectTimeout
expectTimeout
:: (binary-0.8.3.0:Data.Binary.Class.Binary a,
Data.Typeable.Internal.Typeable a) =>
Int -> Process (Maybe a)

Alexander
24.03.2017
18:17:39
или руками на тег смотреть

Евгений
24.03.2017
18:18:30
Кошмар. А если вместо Array что-нибудь?

Alexander
24.03.2017
18:18:46
а стоп, я наврал

Евгений
24.03.2017
18:19:24
Чтобы за o(1) доступ был, но при этом можно было понять заполнено ли поле или нет

Alexander
24.03.2017
18:19:30
это проверка на Thunk или нет
на undefined никак
Array (Maybe a) ?
и заполнить Nothing-ами сначала

Евгений
24.03.2017
18:20:45
Да, неотвратная идея

Misha
24.03.2017
19:59:07

Artem
24.03.2017
20:03:17
поскольку в языке нет понятия thunk (это деталь реализации), то лучше такого не хотеть)

Google

Alexander
24.03.2017
20:19:49
если человек хочет странного, то получит ответ
и пусть уж сам решает хочет ли это использовать
вроде не первый год в haskell

Aldar
26.03.2017
23:37:12
https://torchhound.github.io/posts/haskellOneSentence.html

? animufag ?
27.03.2017
20:30:32
Откуда? Мб у вас тоже интересный чатик

Roman
27.03.2017
21:02:06
Отсюда, видимо https://t.me/scala_jobs

Serghei
27.03.2017
21:33:17
Постоянно сюда скалисты набегают ?
Хороший язык

Alexander
27.03.2017
21:33:53
я бы пошутил про хочется приобщиться к прекрасному, но.. я уже это сделал

Serghei
27.03.2017
21:34:25
?

Anatolii
27.03.2017
21:34:53
@qnikst ты последний девзен не слушал?
- Хаскель ЯКОБЫ лучше go
о каком прекраном может идти речь

Alexander
27.03.2017
21:35:48
я не осиливаю девзен
и вообще работал, а сегодня болел целый день

Ilja
27.03.2017
21:36:21
на scala работаешь и не паришься

Alexander
27.03.2017
21:36:23
надо не только в слаке добавить себе напоминание что в 2 часа ночи я должен спать

Ilja
27.03.2017
21:36:52
?

Dmitry
28.03.2017
05:51:04
надо, что бы Касперский сюда вакансии постил, а то я тут похоже единственный, кто хаскеллистов ищет, гг

Anatolii
28.03.2017
05:52:09
мне кажется что /jobs в гиттере был бы маленьким каналом, но крайне полезным

Dmitry
28.03.2017
05:52:38
ну, такое можно и в основной канал постить, мне кажется. никто не обидится

Google

Anatolii
28.03.2017
05:53:08
мне кажется он бы еще новичкам показывал хотя бы историю и что работу все таки найти можно

Tamara
28.03.2017
06:23:23

kirbulich
28.03.2017
06:25:43
Я вот зашел в группу, смотрю, о чем вообще пишут, часть непонятно, хочу перейти с Явы на хаскель

Dmitry
28.03.2017
06:33:05
Tamara а почему отмалчиваетесь? Вам - это Касперскому?

Tamara
28.03.2017
06:33:59
все верно, мы же свою kaspersky os делаем, у нас завязка основная идет на С и С++, но хаскель тоже используем довольно активно