
Александр
10.10.2018
13:17:51
вопрос был больше - что за поле
Не понял.
Пользователь создает ТВары своих типов. Я кладу эти значения в Any, и таким образом имею "гетерогенную" мапу. Any - из GHC

kana
10.10.2018
13:18:24
а, хм, слово handle меня выбило
нет плюсового бекграунда

Google

kana
10.10.2018
13:19:26
а в мапе айди-ключ это оригинальный айди твара?

Александр
10.10.2018
13:19:47
Ну, там есть представление на уровне интерфейса и на уровне рантайма. TVar - уровне языка, TVarHandle - на уровне рантайма. Первый - "аватар" второго

kana
10.10.2018
13:20:55
то есть для каждого твара в мапе хранится ровно один хендл, где лежит его значение и версия (предыдущие версии нигде не хранятся)

Александр
10.10.2018
13:22:18

kana
10.10.2018
13:26:43
в хендле оригинальный айди лежит просто для удобства?
а так он и так ключ

Александр
10.10.2018
13:30:17
Вроде да, чот я подзабыл

kana
10.10.2018
13:55:09

Александр
10.10.2018
13:58:47
Аа. Айдишник вот этой атомарной сессии
Когда тред меняет твар, он оставляет в ней свой id
Еще надо помнить тот, который был в глобальной копии

kana
10.10.2018
14:11:34

Google

kana
10.10.2018
14:11:48
или хочешь через какой MFix?

Александр
10.10.2018
14:12:36
Второе
Я не уверен, может, этот коммент остался после переделок. Или, может, я имел в виду на идиому "go" переделать
А может, я плохо понимаю TR, что тоже близко к правде

Alexander
10.10.2018
14:19:50
там TR
в stml вроде ничего тоже не накапливается

kana
10.10.2018
14:25:55
хм, а где STM хранится контекст-то? Какая-то глобальная переменная?

Alexander
10.10.2018
14:28:41
а зачем STM конекст (я не смотрел реализацию)
поидее TVar должено быть достаточно, чтобы все делать

kana
10.10.2018
14:30:13
ну я к тому, что STM между разными atomically хранит некоторый стейт
в Гранина ссылка на этот стейт в иорефе контекста, который передается в atomically
но у оригинала этого нет, то есть выглядит так, будто есть какая-то переменная, которая хранит этот промежуточный стейт глобально
или же оригинал как-то обошелся без глобального стейта между вызовами atomically (вызов atomically - выполнение транзакции?)
что-то кода у STM подозрительно мало

Александр
10.10.2018
14:47:16

kana
10.10.2018
14:48:24

Александр
10.10.2018
14:48:26
Там, если я не ошибаюсь, TVar являются активными объектами и версионируют данные, как им нужно

Google

Alexander
10.10.2018
14:56:04
да, в обычной имплементации все что нужно живёт в tvar
и в контексте создаваемым atomically
в контексте лог чтения со значениями и gc root в твари мьютексы для лока очередь чтения и значение

Artem
10.10.2018
15:09:57
Добрый вечер, всем.
Могу ли я как-то упаковать несколько запросов возвращающих ClientM в один?(Вроде Task.WhenAny в C# или Promise.all в JS)

Denis
10.10.2018
15:33:22

Yuriy
10.10.2018
15:37:49
для параллельного есть mapConcurrently из async

Alexander
10.10.2018
15:44:27
только из lifted-async или unliftio
если прямо внутри clientM

Terminator
10.10.2018
17:28:36
@nihlet будет жить. Поприветствуем!

Artem
10.10.2018
18:46:11
Кто работал с telegram-bot от @fizruk31337?

Abbath
10.10.2018
19:44:44
я
@fizruk31337 поддержка бота еще будет?

Artem
10.10.2018
21:07:40
@a66ath, ты же делал кастомные запросы?

Abbath
10.10.2018
21:07:50

Artem
10.10.2018
21:08:42
@a66ath, обычные HTTP запросы к telegram API, которые не заимплеменчены у @fizruk31337

Abbath
10.10.2018
21:09:39
Не юзал

Artem
10.10.2018
21:10:15
Тебе хватало sendMessage и editMessage?

Abbath
10.10.2018
21:10:28
У меня REPL
Зачем мне что-то сложное

Artem
10.10.2018
21:10:56
:C

Google


Александр
11.10.2018
05:48:42
Важное уведомление для новичков в Haskell.
Нужно относиться скептически ко всему, что говорится или утверждается в этом чате. Хаскеллисты делятся на "академиков" и "практиков". У первых проявляется узкий формалистический подход. Они могут утверждать, что какая-то вещь плоха или неприменима, ведь вот же есть пейпер, где так написано. Однако в пейперах чаще рассматривается узкая задача, с необходимыми исследователю ограничениями, потому что цель пейперов - в математических выкладках, для которых важны строго определенные начальные положения. На практике же задачи либо не требуют использовать инструмент так узко и без фантазии, либо ограничения вполне допустимы, либо можно применить какой-нибудь трюк, который академикам покажется "нечистым" и "небезопасным", из-за чего они его и не рассматривают вовсе. Это значит, что утверждения в этом чате о неприменимости все еще следует проверять экспериментом, не вычеркивать инструмент из своего набора, пока не найдено, что в вашей задаче он действительно неприменим. Также очень скептически стоит относиться ко всем околоформальным беседам про морфизмы, продвинутую магию на типах и прочий матан. Эти беседы ведет все та же академическая часть хаскеллистов, и они более всего заметны, что оставляет ощущение, что Haskell - сложный и непонятный. Однако на практике этот "высокий штиль" применяется очень редко, потому что в целом может вредить проекту больше, чем помогать: плохой поддерживаемостью, никому неизвестными ad-hoc решениями (вместо известных практик), и той пресловутой формалистской узостью применения инструментов. К сожалению, все еще существует некая убежденность академической части хаскеллистов в том, что если не формализовано - значит, не существует, или плохое. Но это лишь мнение. Ведь практика, как мы знаем, сильно расходится с теорией.


Oleg
11.10.2018
05:51:11
Вот например Гранин - "академик"

Aleksey
11.10.2018
05:52:35
На практике все шаблонизируют SQL строчками и круды с формочками клепают

Alexander
11.10.2018
05:55:08

Александр
11.10.2018
05:56:47
Я думаю, само условие ложно
*условие -> утверждение

Alexander
11.10.2018
06:12:50
а есть, практики, это самоуверенные незнайки, которые потом по 4 года переделывают свои продукты
приходя в итоге к решениям предложенным академиками и известным до начала написания продукта


Dmitry
11.10.2018
06:14:40
Важное уведомление для новичков в Haskell.
Нужно относиться скептически ко всему, что говорится или утверждается в этом чате. Хаскеллисты делятся на "академиков" и "практиков". У первых проявляется узкий формалистический подход. Они могут утверждать, что какая-то вещь плоха или неприменима, ведь вот же есть пейпер, где так написано. Однако в пейперах чаще рассматривается узкая задача, с необходимыми исследователю ограничениями, потому что цель пейперов - в математических выкладках, для которых важны строго определенные начальные положения. На практике же задачи либо не требуют использовать инструмент так узко и без фантазии, либо ограничения вполне допустимы, либо можно применить какой-нибудь трюк, который академикам покажется "нечистым" и "небезопасным", из-за чего они его и не рассматривают вовсе. Это значит, что утверждения в этом чате о неприменимости все еще следует проверять экспериментом, не вычеркивать инструмент из своего набора, пока не найдено, что в вашей задаче он действительно неприменим. Также очень скептически стоит относиться ко всем околоформальным беседам про морфизмы, продвинутую магию на типах и прочий матан. Эти беседы ведет все та же академическая часть хаскеллистов, и они более всего заметны, что оставляет ощущение, что Haskell - сложный и непонятный. Однако на практике этот "высокий штиль" применяется очень редко, потому что в целом может вредить проекту больше, чем помогать: плохой поддерживаемостью, никому неизвестными ad-hoc решениями (вместо известных практик), и той пресловутой формалистской узостью применения инструментов. К сожалению, все еще существует некая убежденность академической части хаскеллистов в том, что если не формализовано - значит, не существует, или плохое. Но это лишь мнение. Ведь практика, как мы знаем, сильно расходится с теорией.
Давайте отселим академиков в _ivory_tower!


Dmitry
11.10.2018
06:16:05

Alexander
11.10.2018
06:16:51
во всех пишут с академиями и без академий
проблема с дартарьянами
ладно ещё если эти д'Артаньяны в опенсорс контрибтютят
я могу понять, когда академиками называют Олега, например
у него действительно продакшн это статья, и либы использовать нельзя их потом другие пишут
но в этом утверждении не про Олега речь
да и влияние его на комьюнити крайне мало

Александр
11.10.2018
06:19:39
Проблема не в том, что пейперы описывают решение, а про него не знают. Точнее, это тоже проблема, но другая. Проблема в том, что когда пейперы говорят: эта задача так не решается, бла-бла, оказывается, что это не та задача вовсе, и очень даже решается, но может быть, с трюками, которые в пейпере не предусмотрены

Dmitry
11.10.2018
06:20:02
да надо как-то конкретнее

Google

Dmitry
11.10.2018
06:20:16
наверняка ведь речь про фри монад консайдеред юзлесс, а ты по фримонадам упоролся

Alexander
11.10.2018
06:20:41
у Александра бомбануло, что на STM нельзя сделать точку рандеву
а фримонады в этом не помогут
при этом он не может понять, формулировку задачи

Александр
11.10.2018
06:21:20
У вас по существу вопроса есть аргумерты, или вы мою личность будете обсуждать?

Alexander
11.10.2018
06:21:30
и почему в задаче присутствуют слова "на сим"
стм

Александр
11.10.2018
06:21:49
Я этот манифест еще в далеком 2015 году мог написать

Alexander
11.10.2018
06:21:51
это по существу, чтобы была понятна идиотичность этого ранта

Александр
11.10.2018
06:28:05
Я уже говорил и еще раз повторю: пуризм в сообществе Хаскеля - это то, что ему сильно мешает

Alexander
11.10.2018
06:31:54
а чем бы был сейчас хаскель без пуризма?
*в той мере, в которой он присутствует

Kirill
11.10.2018
06:32:50
был бы нечистым :)

Александр
11.10.2018
06:33:24
Пуризм - это exclusive. Мол, не знаешь ТК? Вон из хаскеля.
Без академии, конечно, Хаскель был бы не тем.
Пуризм /= академия
Вот и тут звучат сейчас мнения: не знаешь пейперов - вон из Хаскеля

Oleg
11.10.2018
06:34:44
Моё личное мнение, что часто обществу мешает не какое-то отношение какой-то части участников к нему, а отношение участников к мнениям других участников.
Вот есть участники утверждающие "эти люди часто говорят A, не доверяйте им, и вообще давайте запретим людям говорить А в сообществе, пусть идут в другое сообщество"
В действительности нужно не призывать новичков игнорировать доводы части людей, или повторяя Де Гоуза "пожертвовать половиной сообщества"
А раз и навсегда договориться, что в хашкеле будет и пуризм, и ансейф на ансейфе практицизм и попытка запихнуть в него зав\лин типы, пуш ту колл и я не знаю, гомотопии, почему нет.
Пусть естественным образом конкурируют, а не затыкают друг друга, и не сваливают, когда заткнуть не получается

Alexander
11.10.2018
06:35:13