@Fsharp_chat

Страница 501 из 772
Antya
07.03.2018
08:06:04
С ним должно быть меньше проблем

Vasily
07.03.2018
08:06:14
Да жераф это де тонкий врапер над ASP Core
Ну отсюда есть некоторые гарантии, что можно юзать в продакшне :)

Roman
07.03.2018
08:06:15
Google
Vasily
07.03.2018
08:06:35
Мне казалось там от жирафа осталось ничего
Ну ему вроде пришлось свои роуты писать

Aleksander
07.03.2018
08:07:55
У нас много чего на винде. Мы это переводим но не быстро
Да, так и подумал) Steeltoe не смотрели, случаем? Набор библиотек от Pivotal, обещают всякие эврики и т.п.

Roman
07.03.2018
08:08:37
Ну ему вроде пришлось свои роуты писать
То ради чего жираф был сделан) Но в целом отличный опыт

Vasily
07.03.2018
08:08:41
@antyadev Кстати, а как код ревью организуете, и можно поподробнее про использование property-based testing?

Siarhei
07.03.2018
08:09:22
@antyadev а код какой почитать можно/нет?

Antya
07.03.2018
08:10:22
@antyadev а код какой почитать можно/нет?
Хм, я конфах демил сорцы пару раз... ну это не то... пока никак

Siarhei
07.03.2018
08:10:54
Хм, я конфах демил сорцы пару раз... ну это не то... пока никак
если появится возможность, то я думаю желающих почитать особенно в этом чате будет не мало

Vasily
07.03.2018
08:12:11
Я бы почитал с той точки зрения, что это реальный продакшн

Antya
07.03.2018
08:12:41
@antyadev Кстати, а как код ревью организуете, и можно поподробнее про использование property-based testing?
Ну следим за purity, валидируем нейминги это бесценно. С F# code base это как-то проще получается.

Siarhei
07.03.2018
08:13:38
Antya
07.03.2018
08:14:00
Google
Roman
07.03.2018
08:14:19
Vladimir
07.03.2018
08:16:15
а есть код в репозитории?
https://github.com/Lanayx/HighloadCup

Rushan
07.03.2018
08:16:46
Evgeniy
07.03.2018
08:24:25
@pavelkhritonenko

А почему вообще решили собрать свой аналог нетфликс стека, а не посмотреть в сторону какого-нибудь кубернетеса?

У нас много чего на винде. Мы это переводим но не быстро

Привет.

Андрей
07.03.2018
09:34:43
Привет.

Evgeniy
07.03.2018
09:41:29
Пожалуйте.

Eugene
07.03.2018
09:41:41
Мерси

Evgeniy
07.03.2018
09:57:25
https://twitter.com/kozy_kekyo/status/970749725392625664

Привет. :)

Alex
07.03.2018
16:37:36
let f() = do something; let a = f; a();

Roman
07.03.2018
16:38:56
Alex
07.03.2018
16:39:46
разбираюсь с азами фп. не совсем очевидно, что a это лишь привязка к f(после C#)

по сути алиас

Roman
07.03.2018
16:40:31
Google
Alex
07.03.2018
17:03:42
в фп любая функция имеет сигнатуру y = f(x) в отличии от c#?

Daniel
07.03.2018
17:09:35
в фп любая функция имеет сигнатуру y = f(x) в отличии от c#?
В смысле? У разных функций сигнатуры разные, в сишарпе также

Klei
07.03.2018
17:58:00
в фп любая функция имеет сигнатуру y = f(x) в отличии от c#?
Если ты имел ввиду, что все функции принимают только один параметр, то да. Но из-за сахара до определенного момента в F# этот факт можно игнорировать.

Pavel
07.03.2018
18:12:36
в таком разрезе в c# тоже все функции принимают только один параметр. только нигде на этом внимание не заостряется

Ivan
07.03.2018
18:33:26
Кто-нибудь уже перекатился на VS15.6? Поломали что-нибудь?
Да, поломали. Не знаю как F#, на C# билд на проекты на некоторые рассыпался

Klei
07.03.2018
18:38:32
в таком разрезе в c# тоже все функции принимают только один параметр. только нигде на этом внимание не заостряется
По моему это уже натягивание совы на глобус, которое никоим образом не способствует пониманию C#. Особенно в случаях типа такого: let p = true, "my message" // Не скомпилируется, т.к. нет перегрузки для одного параметра. System.Diagnostics.Debug.WriteIf p

Pavel
07.03.2018
18:45:45
> let p = 1M, 2M;; val p : decimal * decimal = (1M, 2M) > System.Decimal.Add p;; val it : decimal = 3M

Alexey
07.03.2018
18:46:07
Столкнулся сегодня микс из асинхронщины на TPL и Rx начинает себя плохо вести когда начинаешь использовать virtualscheduler'ы ?

Klei
07.03.2018
18:59:14
> let p = 1M, 2M;; val p : decimal * decimal = (1M, 2M) > System.Decimal.Add p;; val it : decimal = 3M
Это лишь пример того, что F# умеет разруливать некоторые очевидные случаи.

Pavel
07.03.2018
19:02:14
Это лишь пример того, что F# умеет разруливать некоторые очевидные случаи.
то что f# не умеет разруливать какието специфичные случаи никак не отменяет того что все функции в c# имеют один аргумент. что там f# умеет или нет применительно к другим языкам вообще никакого отношения не имеет

Klei
07.03.2018
19:03:38
Какой смысл в подобной трактовке? Проблемы порождает, выгоды не несет.

Evgeniy
07.03.2018
19:29:58
> let p = 1M, 2M;; val p : decimal * decimal = (1M, 2M) > System.Decimal.Add p;; val it : decimal = 3M
Перед вызовом Add происходит распаковка p.

Pavel
07.03.2018
19:34:39
Какой смысл в подобной трактовке? Проблемы порождает, выгоды не несет.
проблем никаких. смысл прямой. что б привлечь народ на свою сторону нужно не пугать диких императифщиков типа в фп все по другому, а наоборот рассказать что всё в принципе похоже просто их не доучили немного

Evgeniy
07.03.2018
19:36:19
не факт
https://sharplab.io/#v2:DYLgZgzgNALiCWwoBMQGoA+wCmMAEADngLx4CMAslHgEwUDc9AsAFADKAnhDNgLYB0AEWwBjeLwCGwfgEFkyQoyA

Pavel
07.03.2018
19:39:15
жуть то какая. но это собственно просто особенности реализации данного поведения в компиляторе f#. фп не обязывает собирать и разбирать туплы и оптимизирующий компилятор в примципе мог бы и разобраться что к чему

скомпилил в студии в релизе

let f () = let p = 1M, 2M let y = System.Decimal.Add p printfn "%A" y

открыл в ilspy

Klei
07.03.2018
19:46:22
проблем никаких. смысл прямой. что б привлечь народ на свою сторону нужно не пугать диких императифщиков типа в фп все по другому, а наоборот рассказать что всё в принципе похоже просто их не доучили немного
Мне кажется, что как раз утверждение "в C# все функции с одним параметром" является более настораживающим, ибо оно разрушает старые стереотипы и не дает за это никаких преимуществ. В моей практике оказалось гораздо проще дать человеку кодить так, будто карированные функции, это разновидность записи функций с бонусом в виде неполной записи вместо лямбд. А потом, когда уже понадобится что-то там понакрутить, заняться объяснением различий. Хотя не отрицаю, что твой подход может работать. я не пробовал.

Google
Pavel
07.03.2018
19:46:30
public static void f() { decimal d = 1m; decimal d2 = 2m; decimal y = decimal.Add(d, d2); PrintfFormat<FSharpFunc<decimal, Unit>, TextWriter, Unit, Unit> format = new PrintfFormat<FSharpFunc<decimal, Unit>, TextWriter, Unit, Unit, decimal>("%A"); PrintfModule.PrintFormatLineToTextWriter<FSharpFunc<decimal, Unit>>(Console.Out, format).Invoke(y); }

так что не факт

https://sharplab.io/#v2:DYLgZgzgNALiCWwoBMQGoA+wCmMAEADngLx4CMAslHgEwUDc9AsAFADKAnhDNgLYB0AEWwBjeLwCGwfgEFkyQoyA
кстати правильно приготовленый sharplab если туда функцию поставить тоже в тупл ничего не собирает

Evgeniy
07.03.2018
20:09:56
https://twitter.com/sforkmann/status/971472532502130696

Roman
07.03.2018
20:28:49
Привет!

Alexander
07.03.2018
20:29:30
Всем привет!

Roman
07.03.2018
20:33:28
https://hal.inria.fr/hal-01724997/document "We present a resource-management model for ML-style programming languages, designed to be compatible with the OCaml philosophy and runtime model. [...] It builds on the ownership-and-borrowing models of systems programming languages (Cyclone, C++11, Rust) ..."

Ivan
08.03.2018
05:53:34
Про это совсем не понял. Какое то жалкое подобие раста

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

Тулинг в 15.6 очень подрос. Просто небо и земля. Спасибо всем.

Evgeniy
08.03.2018
08:10:14
Привет.

Roman
08.03.2018
08:17:23
Friedrich
08.03.2018
08:39:46
https://sharplab.io/#v2:DYLgZgzgNALiCWwoBMQGoA+wCmMAEADngLx4CMAslHgEwUDc9AsAFADKAnhDNgLYB0AEWwBjeLwCGwfgEFkyQoyA
Знаешь, почему у тебя не оптимизировалось? Потому, что ты сделал p глобальной переменной модуля — поэтому компилятор был вынужден там материализовать туплю. Если тот же код написать внутри функции, то даже в дебаге всё оптимизируется! \o/

let f () = let p = 1M, 2M let y = System.Decimal.Add p printfn "%A" y
А вот ты правильно эксперимент поставил, поэтому оптимизировалось.

Friedrich
08.03.2018
09:07:19
Это показывает, что наш компилятор не так плох, как можно было бы подумать!

Evgeniy
08.03.2018
09:46:07
Но мог бы быть и получше! Надо учиться работать с кодом компиляторя.

Когда у меня будет машина помощнее, буду учиться.

Google
Roman
08.03.2018
09:50:25
Привет. Завтра первые бирапцы подтягиваются в ресторна Брюссель не далеко от Тверской к 5 вечера, если что подходите + если кто вдруг внезапно узнал про F# бирап то ссылка во временный чатик бирапцев вот: https://t.me/joinchat/BIRduxGyVa3aecUfvE2nBQ

Evgeniy
08.03.2018
09:56:31
Ну, и милых дам поздравляем с праздником. :)

@AnutaU @Schvepsss @pauline_nemchak @meilalina @flerka @juliavav @VVatashi

Я точно кого-то мог забыть, не серчайте.

Julia
08.03.2018
09:59:22
Спасибо!)

Fill
08.03.2018
10:06:46


У работы на мс есть свои приемущества)

кому нужен домашний телефон Дона Сайма?)

Страница 501 из 772