
Alexander
24.10.2018
09:19:56
так?
у нас разные алгоритмы для прохода вектора (boxed)

A64m
24.10.2018
09:20:19
ну да

Maxim
24.10.2018
09:20:46

Google

Alexander
24.10.2018
09:21:15
split/take - придётся копировать скорее всего

A64m
24.10.2018
09:22:04
я вот не понял тебя...
сейчас если все делать без использования опасных заморозок/разморозок будут лишние копирования (не всегда, в векторе есть правила перезаписи, которые некоторые из этих лишних копирований устраняют)
с линейными типами можно избавится от целого класса таких копирований для безопасности
но линейные типы сами иной раз будут заствлять копировать для безопасности в случаях, где внутри ST ничего не надо было копировать

Maxim
24.10.2018
09:23:25
хм
ладно, скажите пожалуйста. если у меня в одной функции делается unsafeThaw $ fromList ..., потом с массивом что-то делается, а потом из функции возвращается toList <$> unsafeFreeze ..., я в безопасности? промежуточный массив никуда наружу не возвращается, все происходит под runST

Alexander
24.10.2018
09:28:58
да
там есть метод modify вроде бы который тоже самое делает, но лучше проверить

Maxim
24.10.2018
09:31:36
хм, действительно. только сейчас понял, как его можно использовать
спасибо)

Alexander
24.10.2018
09:32:24
проверь что там unsafe операции по сторонам
я подозреваю, что только с одной стороны

A64m
24.10.2018
09:32:43
ну там одно копирование-то есть

Google

Alexander
24.10.2018
09:32:54
но fromList -> safe -> unsafe может оптимизируется
fromList -> unsafe -> safe точно нет, но так делать и нельзя

A64m
24.10.2018
09:33:30
да, продьюсер вектора с модифаем скорее всего ничего копировать не будут

Kirill
24.10.2018
12:16:33
А никто не в курсе про судьбу fpconf? повторится история как летом? Лучше на f(by) скататься?

Alexander
24.10.2018
12:17:24
на обе

Kirill
24.10.2018
12:17:59
тебе-то ближе

Aleksey
24.10.2018
12:20:19
fby хорошая. Если ехать только на одну, то туда

Kirill
24.10.2018
12:22:17
ну посмотрим на програму ещё

Aleksey
24.10.2018
12:24:20
Обычно там неплохо. Но в этот раз странное деление на практиков и академиков
(тут подслушали, небось)

Alexander
24.10.2018
12:25:55
а чего там?

Andrei
24.10.2018
12:26:02

Alexander
24.10.2018
12:26:09
доклад бы придумать интересный, а идей нет
@astynax что за деление?

Aleksey
24.10.2018
12:26:53
Ну два потока. "Про практику" и "про красоту"

Andrei
24.10.2018
12:26:55
This year we will have 2 tracks with:
1. Practical talks: success stories of FP languages usage
2. Theoretical talks: programming language theory, mathematics, programming for the sake of programming, new things in FP languages.

Александр
24.10.2018
12:27:47
Ох, лол.

Alexander
24.10.2018
12:27:53
хмхмхм
вот это вот ^

A64m
24.10.2018
12:28:44
два трека 1) успех 2) избегание

Google

Alexander
24.10.2018
12:29:12
взболтать не смешивая?

Aleksey
24.10.2018
12:29:14
1) в итоге избегание 2) было бы, чего избегать

Alexander
24.10.2018
12:29:17
или смешать не взбалтывая

Aleksey
24.10.2018
12:30:21

Andrei
24.10.2018
12:31:40

Alexander
24.10.2018
12:32:06
и что по 2 набираются люди?

Aleksey
24.10.2018
12:32:23
"Там и так полно желающих" же
"new things in FP languages: те же, что были 20 лет назад". Тема для доклада

Александр
24.10.2018
12:33:31
Это экзистенциальная конфа. Докладчикам придется наконец определить, кто они.

Alexander
24.10.2018
12:33:55
тут теоретиков уровня конференций нема почти

A64m
24.10.2018
12:33:56
хорошо, если не 35 Ж(((

Aleksey
24.10.2018
12:34:27
1. Кложуристы, жиэсеры
2. Скалолазы (думают что в "1"), хаскелисты

Alexander
24.10.2018
12:34:59
вообще для конфы хотеть чтобы на неё приезжали имплементаторы языков это нормально

Aleksey
24.10.2018
12:35:00

A64m
24.10.2018
12:35:09
1) котлин, го, тайпскрипт 2) скала, хаскель, кложура

Aleksey
24.10.2018
12:35:16

Александр
24.10.2018
12:35:38
А Эрлангисты - ни туда, ни сюда? (Хотя да, какой нам Эрланг, не ФЯ)

Aleksey
24.10.2018
12:35:55
Эрлангисты дома сидят

Alexander
24.10.2018
12:36:10

Andrei
24.10.2018
12:36:13

Google

Aleksey
24.10.2018
12:37:25

Alexander
24.10.2018
12:37:41
вот пишешь ты фримонаду иди во второй трек
а пишешь ты фримонаду для блокчейна - в первый

Aleksey
24.10.2018
12:38:06
Эван приходит с "хочу в первый трек". А ему - "Ты ж язык написал? Тебе во второй"

Alexander
24.10.2018
12:39:02
если докажет что это success story то в первый

Pineapple
24.10.2018
12:39:32
- Так я же язык для практивков написал
- Да какая практичнсоть без тайпклассов

Alexander
24.10.2018
12:39:56
картинка с го и двумя воротами

Pineapple
24.10.2018
12:40:11
???

A64m
24.10.2018
12:48:26
лучше картинка где машина сворачивает с дороги

Alexander
24.10.2018
12:48:45
да

Yuriy
24.10.2018
12:54:57
не путайте. функциональщина в Хаскеле — суровая практика, функциональщина в гошечке — мифическая теория

Александр
24.10.2018
12:58:14
1) котлин, го, тайпскрипт 2) скала, хаскель, кложура
Котлин, Джава, Го, ТайпСкрипт, -
Бойлерплейты генерит.
Хаскель, Скала, КложурА,
Бойлерплейта нет, - ура!

A64m
24.10.2018
12:58:30
нет, ага

Alexander
24.10.2018
12:59:51
это не _blah
кстати, а про кровь адама это в какой трек?

A64m
24.10.2018
13:00:21
первый

Alexander
24.10.2018
13:27:45
а у кондуитов есть Functor?
лень ghci открывать
а там если только по return:/

Yuriy
24.10.2018
13:43:55
кондуиты даже MonadTrans

Google

Alexander
24.10.2018
13:46:20
у меня было C a (f b) m r я хотел Functor f воспользоваться
самое близкое это mapOutput . fmap

Anton
24.10.2018
14:54:37

Pineapple
24.10.2018
15:04:09
Иди на первый

Anton
24.10.2018
15:04:47
До практики пока не дотягиваем :(

Pineapple
24.10.2018
15:04:59
Всё равно. Гоферы будут зажаты между теорией типов и кложурой

Anton
24.10.2018
15:06:22
А как же инклюзивность? ;) [подозреваю, что лучше в blah с этим]

Terminator
24.10.2018
15:49:44
@artempyanykh будет жить. Поприветствуем!

Artem
24.10.2018
15:52:03
Господа, кто-нибудь может подсказать с Servant’ом? Я начал разбираться, но не пойму как BasicAuth местный устроен — как из data BasicAuth (realm :: Symbol) (userData :: *) он понимает, что нужно в Authorization хедер посмотреть, схему там проверить и т.п. Any tips?

Artyom
24.10.2018
15:55:18
Очень плохо он устроен, я день разбирался
> как понимает
Из инстанса HasServer для BasicAuth
Ты cookbook пример видел для него?
Если нет, нагугли, он полезный

Artem
24.10.2018
15:59:08
Пока только пример из доки читал. Спасибо! посмотрю кукбук и на инстанс

Alexander
24.10.2018
16:01:37
там же через контекст функция проверки?

Artem
24.10.2018
16:03:56
@lightgreen спасибо за наводку, теперь понятнее стало! https://github.com/haskell-servant/servant/blob/99e535b5790826c6fc9ba2badc9d7868ac600450/servant-server/src/Servant/Server/Internal.hs#L696

Artyom
24.10.2018
16:04:57
Я в итоге в нашем коде забил и сделал свой BasicAuth, где функция берётся из констрейнта
У меня только два бранча под авторизацией, поэтому мне несложно прописать проверку авторизации в хендлерах

Alexander
24.10.2018
16:07:18
у меня везде jwt оно прикольное