
Sasha
05.03.2017
20:16:01
я понял

Alexander
05.03.2017
20:17:57
потому-что тип аргумента там [Integer] а не [[Integer]]
@sashasashasasha151 ну на все впросы ответить можно и просто, и сказать как написать по человечески
просто сделайте за меня все, это не правильно, же. так можно только если студент а это надо сдать иначе завтра отчисление

Google

Alexander
05.03.2017
20:24:10
но это немного другой формат общения:)
@quetzal ping?
> A thread can only use one transaction at a time, plus any child transactions. Each transaction belongs to one thread. See below. The MDB_NOTLS flag changes this for read-only transactions.
т.е. я не могу запустив RO транзакцию запустить ещё и RW в том же треде?

Quet
06.03.2017
07:59:26
угу, но MDB_NOTLS кажется плохая идея обычно, т.к. становится надо руками синхронизироваться между потоками
а у тебя чего, есть какие-то долгоживущие транзакции?

Alexander
06.03.2017
09:10:41
у меня следующая ситуация: есть транзакция где из базы вычитывается много всего, потом половина вычисленного используется при сохранении
соотвественно у меня 2 варианта: 1 - Ro транзакция, перед завершением вычитываем все в память в haskell, потом открываем RW и все сохраняем (сейчас так)
но было бы круче, если бы я эти данные мог использовать в RW транзакции, чтобы не нагружать haskell heap

Dmitry
06.03.2017
09:12:47
@qnikst а у вас в проекте много различных версий типов для safecopy ?
и как вы боретесь с бардаком при этом

Alexander
06.03.2017
09:13:15
пока больше 2 не было

Dmitry
06.03.2017
09:13:22
там явно нужна какая-то очень жесткая дисциплина
или подход

Google

Alexander
06.03.2017
09:13:27
у нас ещё классная штука почти появилась
теперь у типов в базе есть UUID, и можн старые типы складывать в Foo.Old
все равно все будет работать и тип будет верно находиться, несмотря даже на то safecopy поддерживает или нет
но я чутка не доделал пока

Dmitry
06.03.2017
09:14:56
да меня не сама даже база напрягает
а то, что происходит при росте числа версий типов при большом количестве этих самых типов

Alexander
06.03.2017
09:16:32
мы планируем выкидывать старые
со временем

Dmitry
06.03.2017
09:19:40
в общем я ничего умнее пока не придумал, чем в Internal вводить явные префиксы версии для типов, которые `SafeCopy``
module Data.Tourseek.Model.Internal.V0_1_3_0.Room where
import Data.Tourseek.Model.Internal.V0_1_3_0.Language(Language)
и в Internal импорт нужной текущей версии
тогда и выкидывать можно будет просто стирая весь каталог
кажется.

Alexander
06.03.2017
09:34:34
похоже на то

Kit
06.03.2017
13:56:08

Евгений
06.03.2017
13:59:49
https://en.wikipedia.org/wiki/Effect_system

? animufag ?
06.03.2017
14:09:12
> Effects are a classification of computations independent of the ex- plicit inputs and outputs of those computations.
из Tate

Kit
06.03.2017
14:21:24
А на русском что это значит?
Я думаю я не правильно перевёл с английского
Ex-plicit input это что?

Google

Kit
06.03.2017
14:22:41
И что за "те" вычисления?

Alexander
06.03.2017
14:30:38
это знак переноса :)
в слове ex-plicit
ну перевод такой, что эффекты - это вычисления, независимые от эксплицитно указанного ввода-вывода типа

? animufag ?
06.03.2017
14:37:41
эксплицит можно же перевести как явное?
или это укоренившиеся самобытное слово в данном контексте?

Alexander
06.03.2017
14:40:48
Можно думаю )
Но я по-английски привык

? animufag ?
06.03.2017
14:42:27
ну имплисит можно было бы понять, тк в скале есть имплисит, в идрисе и как бы в контексте проще сказать имплисит параметры а не "неявные параметры"
а здесь ни к чему

Donat
06.03.2017
14:43:46
по-моему узкоспециализированные тексты очень трудно перевести на русский, лучше английский учиться понимать

Alexander
06.03.2017
14:43:54
++
Когнитивный оверхэд от поддержания 2х словарей
Без каких-либо плюсов

Donat
06.03.2017
14:45:51
вот да, были бы ещё какие-то плюсы от этого...

? animufag ?
06.03.2017
14:46:39
Ну двум русским, владеющим английским, ок разговаривать на узкоспециализированные темы. Думаю мозг с такой нагрузкой изи справляется.

Alexander
06.03.2017
14:53:30
все же я согласен с тем, что тут можно было сказать явный
=)

Alexander
06.03.2017
14:54:04
так я тоже согласился :)

Kit
06.03.2017
15:19:44

Google

Kit
06.03.2017
15:22:46
У меня сразу наводящий вопрос появился. А эти эффекты связаны только временем? Поясню. Например, сработала одна функция изменила параметр, потом этот параметр подцепила другая функция и уже выдала другой результат. Или существуют еще какого-то рода эффекты?

Alexander
06.03.2017
15:38:22
Вот по Tate не только
Например у тебя есть Int -> Int -> Maybe Int для целочисленного деления, и оно может быть Nothing если что-то выше развалилось, и из параметров и результа это не понять
Плохо сказал, но с телефон не удобно сейчас

Kit
06.03.2017
16:02:42

? animufag ?
06.03.2017
16:17:46
давай определимся, знаком ли ты знаком ли ты со статьей Moggi "Computational lambda-calculus and monads" 1989 года
Ну я этот момент воспринял так, что Maybe может выражать вычисления с ошибкой, а List может выражать недетерменированные вычисления
Но ничего такого они не делают

Kit
06.03.2017
16:19:53

Igor
06.03.2017
16:30:46

? animufag ?
06.03.2017
16:31:09
мне кажется здесь Nothing очень даже явно зависит от явно входящих параметров, мы же все-таки функции воспринимаем не как таблицы "ключ-значение"
ответь на это тогда

Igor
06.03.2017
16:37:31

? animufag ?
06.03.2017
16:39:18
Если ты задаёшь вопрос как бы подразумевая ответ, что делают, то ответь на вопрос где может быть Nothing не зависящий от входных параметров
ну хотя у меня у самого начал ответ представляться (но не это слабый вариант)

Igor
06.03.2017
16:42:58

? animufag ?
06.03.2017
16:43:46
Тогда при чём тут эффекты

Igor
06.03.2017
16:44:40
я хз вообще :D
эффекты это же другой подход, немонадный

Alexander
06.03.2017
16:46:48
тут уже все смешалось походу :)

Igor
06.03.2017
16:47:42
есть монады State / Writer — вот они с побочными эффектами, так как изменяют какое-то состояние. Но тут оговорка, потому что функции, которые возвращают результат в такой монаде, являются чистыми. Внешний мир не изменяют, только внутреннее состояние.

Google

Igor
06.03.2017
16:53:11
у Maybe это выражается в возможности вернуть ошибку как результат.
это тоже "сайд эффект", потому что в норме, всегда, мы возвращаем один результат, одно значение. √4 = 2 — просто целые числа, и всё.

? animufag ?
06.03.2017
16:56:16
ладно ок

Igor
06.03.2017
16:56:23
а тут пришёл maybe и сказал, что будет подмешивать в результат функций ещё и ошибку, если она возникнет
я вообще, честно, не понимаю, в чем цимес

? animufag ?
06.03.2017
16:56:56
следущий раз когда спросят про сайд эффекты скажу им чтобы думали в следущем ключе:
если нечто в норме, то сайд эффектов нет
иррациональные числа совершенно не в норме
очевидно это сайд эффект

Igor
06.03.2017
16:59:12
меня вот в хаскель мире не радует какая-то закрытость что ли.
вот смотрю я библиотеку на гитхабе.
автор красавчик — пишет на хаскеле.
и даже документацию написал с горем пополам.
но она какая-то грустная, примеров нет, в lts свежей версии нет, почти наверняка понадобятся танцы с бубном и время чтобы разобраться.
в итоге всё скатывается к прочтению сорцев.

Alexander
06.03.2017
17:01:59

Igor
06.03.2017
17:02:02
какая-то либа уже давно не поддерживается, другая умерла, ну и все в таком роде.

Мерлин
06.03.2017
17:02:17
Имхо это проблема всех непопулярных открытых проектов с одним автором

Alexander
06.03.2017
17:02:39

? animufag ?
06.03.2017
17:04:40
Это тут не причем
ну также как Nothing для Maybe Int является одним из конструкторов также и иррациональные числа конструируют Complex
это тоже "сайд эффект", потому что в норме, всегда, мы возвращаем один результат, одно значение. √4 = 2 — просто целые числа, и всё.