Ayrat
если там арреи, то какая разница?
а я знаю? два варианта
или C# код писали бездари, которые не смогли передрать алгоритм с F#
или FSC генерит лучший IL чем Roslyn
что более вероятно?
Hog
я тут давеча смотрел ДотНексты. Вынес прикольный трик. Массивы с конца итерировать для уменьшения количества баундчеков
Ayrat
Ayrat
и не надо было бы смотреть дотнекст!!1
Vladislav
и все офигели
Hog
порнета :)
Hog
Vladislav
Оформил в виде твита: https://twitter.com/EgorBo/status/1066662708504903681
Vladislav
Собсно всё в https://github.com/dotnet/coreclr/issues/1279
но настроить ILLink - это ппц, всё утро убил
Vladislav
порно с конями
Vladislav
убирает зануление памяти у stackalloc
Ayrat
Hog
ну, я заджойнился... не знаю, на сколько меня хватит
Roman
Roman
Hog
я не говорил, что я его собрался пихуить всюду :)
Roman
Hog
Ayrat
https://twitter.com/kot_2010/status/1067107760943362048
Roman
Ого, в декабре хабр мультиязычную версию собирается запускать
Vladislav
Ayrat
норм)
я честно сказать нихуя не понял)
Ayrat
прошёл по ссылке первой, там какая-то дичь, видимо для фейбла
Vladislav
типо не пишите билдеры когда бох дал пайпы
Ayrat
а на картинке какая-то ядерная дичь с опшнами
Ayrat
null
|> fun x -> if (box x = null) ...
Ayrat
gsomix
gsomix
https://devonburriss.me/how-to-fsharp-pt-6/
gsomix
Вот правильная.
Hog
Ayrat
Ayrat
О_О
Ayrat
//string -> string
let makeEmail name =
let sanitizeString (s:string) = null |> (fun x -> if (box x = null) then None else Some(x))
name
|> Option.bind sanitizeString
|> Option.orElse (Some "info")
|> Option.map (fun n -> sprintf "%s@acme.com" n)
|> Option.get
Ayrat
я стал понимать ещё меньше
Igor
Ayrat
Igor
Option.ofObj
Hog
Option.map |> Option.defaultValue
Hog
зачем вся эта жесть?
Ayrat
я нихуя не понял,
что за мега конструкция
null |> fun x -> if (box x = null) then Non else Some x
Ayrat
бля, этот код вообще нихуя не делает
Roman
дада, тока хотел написать
Ayrat
зачем боксить налл и сравнивать с null
Roman
минут 5 в него вдуплял
Roman
параметр (s:string) там вообще игнорится тупо
Ayrat
я думал это шутка юмора от Василия, типа смотрите как можно написать охуенно бесполезно и много
Hog
а там нет никакой магии в Option.bind?
Ayrat
а оказывается это пример из чьей-то стати
Ayrat
без вариантов
Roman
у меня бы так фантазии не хватило написать. Это ж надо сделать так, что компилится и делает как будто то, что надо, только нихуя не то
Roman
Я теперь не усну
Anonymous
null пайпить это круто
null |> (fun x
Roman
Roman
топ 10 пранков которые вышли из-под контроля
Anonymous
лучше еще и в /dev/null писать сразу, чтобы гармонично было
а то там в /dev/null е-мейлы заканчиваются, надо бы свежих
Hog
gsomix
Hog
ну, ты ж ссыль запостил
Hog
тебе и отвечать!
gsomix
Не хочу.
Anonymous
кстати лямбду не обязательно
|> Option.map (fun n -> sprintf "%s@acme.com" n)
достаточно
|> Option.map (sprintf "%s@acme.com")
gsomix
gsomix
тебе и отвечать!
Я лишь скажу, что это все не очень красиво и недружелюбно. :(
Hog
нувоот :(
Ayrat
Похоже Василий автора не полюбил
https://twitter.com/kot_2010/status/1066741583398223875
Ayrat
но да, статьи вырвиглазные
gsomix
Уже сгорели?
https://github.com/dominictarr/event-stream/issues/116#issuecomment-440927400
gsomix
Кстати, а кто-нибудь Василия на московские бирапы приглашал? :)
Ayrat