Pavel
вот так честно: let y f = let f' (x:obj -> _) = f (fun y -> x x y) f' (fun x -> f' (x :?> _))
меньше типов больше хаков let y f = let f' x = f (fun y -> x (box x) y) unbox >> f' |> f'
Pavel
пока упрощал выражение сломал компилятор и как водится загнал в SO теперь FSI
Pavel
Microsoft (R) F# Interactive version 10.2.3 for F# 4.5 Copyright (c) Microsoft Corporation. All Rights Reserved. For help type #help;; > let y f = let f' x = box x |> x |> f in unbox >> f' |> f';; val y : f:('a -> 'a) -> 'a > let fac = y (fun f n i -> if i < 2 then n else f (bigint i * n) (i - 1)) <| 1I;; Process is terminated due to StackOverflowException.
Ayrat
жадно вычислил похожу
Pavel
кто ж его просит объявление вычислять то? это ж не сишные макросы
Romɑn
Ахахаха
Анна
чот я вспомнила тот хоррор, когда у меня осы на балконе завелись
Анна
пришлось мчс вызывать
Pavel
походу let f' x = f (x (box x)) <> let f' x = f (fun y -> x (box x) y)
Ayrat
я думал что идентично
Pavel
дык я тоже думал. а у компилятора свое мнение оказывается
Анна
походу let f' x = f (x (box x)) <> let f' x = f (fun y -> x (box x) y)
Всё правильно, тело функции не вычисляется, пока её не вызовут
Анна
а вот аргументы всегда вычисляются до передачи в функцию
Pavel
и?
Ayrat
намёк на то что X будет жадно вычисляться походу
Ayrat
если его явно в лямбду не засунуть
Анна
ну вот где-то жадность пролезает, но сейчас присмотрелась и не совсем догоняю, где
Ayrat
вот я тоже явно не догоняю
Ayrat
тут же всё паршал аплай, вся херня
Анна
x (box x) это ж функция от одного аргумента, которая тоже функцию возвращает? вроде ж не частичное применение?
Анна
хотя это ж одно и то же 😂
Анна
данунафиг, на лиспе проще 🤓🤪
Анна
но point free функция и её аналог, завёрнутый в функцию явно, не всегда одинаково работают - тот же value restriction если вспомнить 🤔
Анна
Короче. если просто f (x (box x)) - оно полезет вычислять box x
Анна
а во втором случае не полезет
Pavel
на самом деле ломается не на вычислении х. ломается на вычислении его типа. у функций выше даже тип разный
Nikolay
Меня переоценили :D
Romɑn
Nikolay
Приятно же)
Нет. Потому, что я не шарю :D
Ayrat
Ты ж вроде на дипломе уже?
Ayrat
Гуманитарий чтоле?
Анна
Гуманитарий чтоле?
будто что-то плохое 🌚
Vladislav
будто что-то плохое 🌚
+ я полугумманитарий
Vasily
будто что-то плохое 🌚
Ну вообще, конечно, да
Анна
Гуманитарий - это тот, кто шарит в истории, политологии, лингвистике, философии и вот в этом всём. Я протестую, чтобы гуманитариями называли глуповатых
x
ну кроме может быть лингвистов, но их вроде ИИ уже убрал
x
заменил
x
обсолетнул
Анна
А искусства?
и вот в этом всём тоже
Nikolay
Я нашёл виновника утечки, но причины не пойму. Течёт аутентификация, её контексты не освобождаются
Nikolay
builder.Register<IAuthentication>(x => new CustomAuthentication( x.Resolve<IAuthReadService>(), x.Resolve<Logger>())) .InstancePerRequest(); Он же должен освобождаться?
Ayrat
пахнуло нинжектом чтоль?
Ayrat
или автофаком?
Ayrat
там же есть кучи нормальных контейнеров, зачем эти ужасы пользовать?
Ayrat
(SimpleInjector)
Nikolay
Это Autofac
Nikolay
А почему Autofac плох?
Nikolay
Он просто хорошо интегрируется с ASP.NET MVC
Nikolay
Старым
Nikolay
Если подскажете, как отловить можно причину, почему она не диспозится, буду благодарен
Vasily
IAuthReadService - диспозабельный?
Nikolay
Я снова в баре 😁
Nikolay
Щас должны 4 девушки и один парень прийти
Vladislav
пиво в печень и никто не вечен
Nikolay
:)
Ayrat
А я написал рабочий мини гопак на 160 строчек без C#. Есть шедулер, воркер треды и даже можно пайпить и биндить джобы.
Анна
Я сегодня пошла в новое место пообедать. А там швейцар дверь открывает. И салат подают с вареньем каким-то. У меня шок был
Ayrat
C# не нужен!
Анна
простите, не удержалась 🌚
Анна
ещё я билет в Питер купила
Анна
теперь надо придумать, куда там пойти
Ayrat
На литейный-бухейный
Igor
Я снова в баре 😁
Хороший понедельник
Ayrat
там через метр по заведению
Ayrat
есть очень хорошие
Ayrat
я там был как-то. За два вечера десяток только осилил
Ayrat
А ещё сотка осталась
Анна
Ну во-первых я не пью. А во-вторых я с подругой хочу тусить, а она требует выставок и музеев. И тоже не пьёт
Анна
и мы днём, а вечером в Новгород