Λ ll И K X
https://github.com/dotnet/csharplang/issues/339
Doge
ссылочно-прозрачный код - это как?
Где ты можешь каждый вызов функции заменить на возвращаемое ей значение и поведение программы не изменится.
Ivan
нет, получается, что либо функция не использует внешнее состояние, либо оно хранится в результате
Ivan
каким-то образом
Doge
нет, получается, что либо функция не использует внешнее состояние, либо оно хранится в результате
Они могут менять состояние и сохранять эти свойства. См. всякие MVar, IORef и т.п. примитивы из хаскеля и скаловских котов
Ivan
хмм. ок, спасибо.
TOV_MULTIMASSO
Без IO-монады или линейных типов (см. язык Clean) сделать это будет затруднительно
Roman
@omgszer ты просил напомнить про говнокод
Анна
@omgszer ты просил напомнить про говнокод
о, я смотрю, ты почти готов к субботе 🙃
Ayrat
@omgszer ты просил напомнить про говнокод
Да, ноу проблем. Завалю сегодня!
Ayrat
А про любителей попиздеть за фичи!
Roman
о, я смотрю, ты почти готов к субботе 🙃
ага. Слайды уже почти готовы, на неделе еще речь выучу)
Roman
шутехи, мемасики — все присутствует
Анна
Будет бомба
Roman
ну, посмотрим)
Анна
прогон надо делать?
Roman
прогон надо делать?
я бы хотел прогон — я ни разу не выступал еще
Анна
Я просто с этим вождением совсем из жизни выпала 🌚 Самый бесполезный член программного комитета походу 😨
Roman
онлайн доступно будет?
эт не от меня зависит. Я могу тока слайды потом выложить)
Roman
спасибыч
Nikolay
let! _ = cmd.ExecuteNonQueryAsync() Как-то такую конструкцию проще записать можно, но я что-то не могу вспомнить 🤔
TOV_MULTIMASSO
do cmd.ExecuteNonQueryAsync()
Nikolay
Точно!
Ayrat
do cmd.ExecuteNonQueryAsync()
Не скомпилится
Nikolay
do!
Ayrat
do!
И так тоже
Nikolay
Внутри async { компилится всё
TOV_MULTIMASSO
Ayrat
Внутри async { компилится всё
Не верю do! Не требует Async<Unit> разве?
Ayrat
У меня unit
Аааааа
TOV_MULTIMASSO
do! Требует метода Zero() в построителе
Ayrat
Я думал ты игноришь результат
Nikolay
NonQueryAsync же)
Ayrat
NonQueryAsync же)
Оно может бул возвращать
Ayrat
Или инт
Nikolay
Хотя не
Nikolay
Нифига
Nikolay
инт
Nikolay
Значит так работает)
Nikolay
А, там хитрее
Nikolay
Не Async<int>, а Task<int>
TOV_MULTIMASSO
Ну, если в Zero параметр 'a у аргумента. Препроцесору-то на типы плевать
TOV_MULTIMASSO
Я как-то for заставлял быть функцией из 'a -> 'a Monad в 'a -> 'a list Monad
Ayrat
Значит так работает)
Чот кто-то тут пиздит. Либо ты, либо спека T(do! e in ce, V, C, q) = T(let! () = e in ce, V, C, q)
Ayrat
Я щас не у компа, но я бля буду, оно требует Async<unit>
Vladislav
Не Async<int>, а Task<int>
|> Async.AwaitTask |> Async.Ignore
Nikolay
Ayrat
У тебя есть екстеншн на билдер
Ayrat
Иначе оно даже компилиться не будет с таском
Ayrat
Понапишут тут екстеншнов, а потом разбирайся
Nikolay
Напиши в личку
Ayrat
type AsyncBuilder with
Ayrat
Поищи в коде
Диёр
Кажется, намечается очередной грандиозный роспил. Минэкономики предложило создать аналог GitHub за 2,1 миллиарда рублей: http://lentach.media/91d3
Nikolay
Понапишут тут екстеншнов, а потом разбирайся
А потом сидишь в другом проекте и думаешь, либо ты дурак, либо лыжи не едут
Диёр
это шо такое
Ayrat
Чуть не забанил
Диёр
это зачем вообще
Nikolay
А все потому что надо читать спеку!
Начитаются своих спек, а потом тайпастронавтят друг друга
Nikolay
И всё им дырок мало
Диёр
они же все побочки ловят
TOV_MULTIMASSO
Чот кто-то тут пиздит. Либо ты, либо спека T(do! e in ce, V, C, q) = T(let! () = e in ce, V, C, q)
Проверил, действительно требует чтобы было M<unit> Можно ещё вот так сделать let ignoreM ma = monad { let! _ = ma return () } для своего выражения, чтобы потом do! ignoreM <| something "bar"
Ayrat
Который конечно же в частном случае может быть M<unit>
Ivan
Кажется, намечается очередной грандиозный роспил. Минэкономики предложило создать аналог GitHub за 2,1 миллиарда рублей: http://lentach.media/91d3
гитхаб для крымчан прикрыли. с битбукетом неизвестно, но вряд ли лучше. гитлаб недавно на мороз выкинул русский саппорт емнип. Вывод: нам нужно свое, родное.
Ivan
у джетбрейнсов ещё нет чего-нибудь для этого?
я был бы рад, если бы наши компании сделали подобный хостинг, но, видимо, подсчитали, прослезились и отказались.