@ProCxx

Страница 1073 из 2477
Дед Пегас
11.07.2017
08:55:27
Мол fuck(tits) >> wash >> show

:3

Даниил
11.07.2017
08:56:48
ну это всё через монадки работает ща, вот допустим есть монада Maybe<T>, принимающая значение либо Just(T), либо Nothing (типобезопасный аналог nullable значений) так вот, пусть у тебя есть два числа, завёрнутые в Maybe, и ты хочешь их сложить как ты это делаешь без do-нотации: mx = Just(42); my = Just(3); mx.bind(x => my.bind(y => Just(x + y))); // на выходе Just(45); соответственно если где-то в примере выше вместо допустим Just(3) будет Nothing, то и последняя строка будет Nothing, вот а теперь то же самое с do-нотацией: do { x <- Just(42); y <- Just(3); return Just(x + y); }

это я отвечал на сообщение что чем это отличается от анонимного скоупа, но его удалили

Google
Даниил
11.07.2017
08:57:18
в общем, отличается тем, что <- внутри блока do "распаковывает" значение из монадки

do нотация это жеж императивный сахар.
ничего императивного в do-нотации нет так-то

(надеюсь меня не забанят за монадки в цепепе-чате ?)

Дед Пегас
11.07.2017
09:02:25
ML/C++

Неплохой вышел бы гибрид.

Berkus
11.07.2017
09:02:46
хых, template ml

Дед Пегас
11.07.2017
09:02:54
Дыа.

Даниил
11.07.2017
09:04:40
ну что-то похожее на do-нотацию по сути

Antony
11.07.2017
09:06:27
поведение try должно настраиваться какими-то трейтами, которые может пользователь специализировать

тоессть может и для future, и для optional, и для expected работать

Google
Antony
11.07.2017
09:08:01
Но предложение сильно сырое, кажется что даже класс expected на ближаёшем собрании не одобрят

Constantine
11.07.2017
09:15:04
А можно краткий курс как это должно работать (для чайников)?

Vladislav
11.07.2017
09:17:24
Constantine
11.07.2017
09:22:20
https://en.m.wikibooks.org/wiki/Haskell/do_notation
А в более человеческой форме?) Подразумевается, что expected<Type, ErrorType> это Type либо ErrorType? Конструкция типа выше должна работать за счет неявного if () проверяющего на ErrorType и если ошибка возвращая ErrorType? Такой альтернативный способ записи строгих исключений?

Vladislav
11.07.2017
09:23:26
Да, да, да

Constantine
11.07.2017
09:26:19
а как обходиться без wrap-блоков?

в смысле, ошибка может нуждаться в контекстно-зависимом уточнении

Berkus
11.07.2017
09:30:01
есть chain, в него ошибка проваливается - если в первой операции сломалось, остальные не выполняются

уточнение ты сделал когда возвращал expected<,Error>

Constantine
11.07.2017
09:36:35
у меня есть метод template <Type> expected<std::notrolls::not_null_unique_ptr<Type>, std::out_of_memory_exception> deep_clone(std::notrolls::not_null_unique_ptr<Type> object); его ошибка недостаточно показательна

Berkus
11.07.2017
09:38:12
Господин Полухин показывал возможный пропозал для уточнения эксепшенов, используй его.

Berkus
11.07.2017
09:40:10
https://stackoverflow.com/questions/44858395/why-is-the-template-specialization-not-chosen хех

Фраза, содержащая 0 информации.
как и твоя, так что остынь

Constantine
11.07.2017
09:40:55
как и твоя, так что остынь
я просто не понимаю, зачем нужна реплика в духе "загугли не знаю что", если человек изначально запрашивает обзорные сведения

Berkus
11.07.2017
09:41:14
bad_alloc достаточно показательная ошибка, так что непонятно чего ты хотел вообще

Дед Пегас
11.07.2017
09:41:42
Продолжаем день монад! http://www.fluentcpp.com/2017/07/11/dealing-multiple-paths-vector-monad-c/

Constantine
11.07.2017
09:42:19
bad_alloc достаточно показательная ошибка, так что непонятно чего ты хотел вообще
ну да, я такой сижу и вижу bad_alloc в продакшене на запуске 20к строк кода и сразу понял, где я случайно использовал в 20 раз больше памяти, чем надо

Stanislav
11.07.2017
09:42:58
https://github.com/LoopPerfect/neither

Google
Constantine
11.07.2017
09:43:25
когда бросаешь, делай throw bad_alloc() << __FILE__ << __LINE__; и не жужжи
ага, у меня ошибка в методе deep_clone, ну теперь заживем

Berkus
11.07.2017
09:43:40
ты себя не зря в std::trolls:: засунул, прямо сочится из монитора

Дед Пегас
11.07.2017
09:44:18
https://github.com/LoopPerfect/neither
Могу и своего добавить! https://github.com/raeper/aim/blob/master/headers/monad.hpp

Constantine
11.07.2017
09:44:31
добавь << backtrace();
а теперь если я захочу программно обрабатывать случай когда bad_alloc происходит в объекте, который может освободиться пулом параллельного потока и тогда retry?

Дед Пегас
11.07.2017
09:44:54
Могу и своего добавить! https://github.com/raeper/aim/blob/master/headers/monad.hpp
Увидете ошибки в тексте — скажите, пожалйуста? Я поправлю.

> в тексте > 3.5 строчки комментов

Berkus
11.07.2017
09:45:26
это NP-полная проблема, нерешаемо

Constantine
11.07.2017
09:45:54
это мне?))))

Berkus
11.07.2017
09:46:00
возможно

Berkus
11.07.2017
09:46:26
> Tools for creating Tools to create

> Resulting container is always has Resulting container always has

Constantine
11.07.2017
09:46:47
я не подразумеваю случай блокировки, я подразумеваю аномальный случай когда 10 потоков неожиданно в один момент пошли работать с большими объемами данных

Berkus
11.07.2017
09:47:07
> в тексте > 3.5 строчки комментов
две строчки из 3.5 поправил! :P

Constantine
11.07.2017
09:49:09
или еще более странная проблема что два параллельных потока задействовали гарантированный резервный буфер памяти, потому что у обоих одновременно что-то пошло не так

Berkus
11.07.2017
09:50:10
вряд ли эксепшены тебе тут сильно помогут

Дед Пегас
11.07.2017
09:50:30
Constantine
11.07.2017
09:50:58
вряд ли эксепшены тебе тут сильно помогут
это не ошибка многопоточного доступа, это исключительная ситуация - резервный аллокатор не может выделить большой последовательный блок, который гарантированно выделится в эксклюзивной среде

Google
Berkus
11.07.2017
10:00:22
чего ты ко мне прицепился, а

если ты не можешь сдизайнить свою систему - сиди и дизайни

Constantine
11.07.2017
10:00:42
отцепись от моих сообщений немедленно!

Berkus
11.07.2017
10:01:12
чую ты меня седня достанешь окончательно

Constantine
11.07.2017
10:01:23
и что будет?

Anatoly
11.07.2017
10:03:04
https://www.youtube.com/watch?v=BQ5FOtvGgGw

Admin
ERROR: S client not available

Anatoly
11.07.2017
10:03:20
предлагаю дружескую ничью

Constantine
11.07.2017
10:05:34
https://www.youtube.com/watch?v=BQ5FOtvGgGw
между прочим, на мой взгляд "три раза был в бильярде" ужасно снятая сцена

как бьет жеглов не то что чужой через стол, даже просто прямо в лузу сложно попасть)

я уже молчу что шар в створе лузы в американке это "!некст" сразу

Berkus
11.07.2017
10:15:09
неужели все это постановочное

Дед Пегас
11.07.2017
10:22:01
Продолжаем теребить монадки https://www.reddit.com/r/cpp/comments/6me836/outcome_v2_is_feature_complete/

Alexander
11.07.2017
10:26:35
У кого вижла 17 стоит, проверьте плиз вот это

https://pastebin.com/20yfcWhD

у меня падает компилятор

Constantine
11.07.2017
10:27:42
неужели все это постановочное
я помню видел как на спор свояк от середины короткого борта угловым шаром в среднюю били с 10 попыток, сам пробовал - чуть-чуть не попадал)

Stanislav
11.07.2017
10:28:06
Леонид
11.07.2017
10:28:36
Всем привет, ищу разработчика 1с.Участие в сопровождении конфигураций БП 3.0,ЗУП 2.5, КА 2.2. Если есть такой отзвись??, спасибо за внимание.Буду благодарен за любую обратную связь.Всем хорошего дня)

Google
Alexander
11.07.2017
10:29:45
с вакансиями к @AlexFails

Stanislav
11.07.2017
10:30:35
Леонид
11.07.2017
10:30:44
Спасибо??

Alexander
11.07.2017
10:30:48
да, падает
та-дам, баг

у них есть багзилла какая-нибудь?

Stanislav
11.07.2017
10:32:05
https://msdn.microsoft.com/ru-ru/library/mt748084.aspx

такое только находил

Berkus
11.07.2017
10:33:09
попробовали бы они такое в русском бильярде

Constantine
11.07.2017
10:33:24
это на русском, разумеется

Дед Пегас
11.07.2017
10:33:29
https://vittorioromeo.info/index/blog/zeroalloc_continuations_p0.html

Constantine
11.07.2017
10:33:33
свояки в пуле не бьют

Berkus
11.07.2017
10:34:01
Constantine
11.07.2017
10:34:21
я видел, как отцы забивали

Дед Пегас
11.07.2017
10:35:26
https://vittorioromeo.info/index/blog/zeroalloc_continuations_p0.html
Блять. Вот что за люди. Пишет на C++14 и вместо вариадиков шлёпнул препроцессор.

Вот не было нужды, но всё равно!

#define FWD(...) ::std::forward<decltype(__VA_ARGS__)>(__VA_ARGS__) Вот это разве нереализуемо на вариадиках?

Страница 1073 из 2477