
Vasily
07.03.2017
14:25:39
Я все пытаюсь на f# odata клиента запилить, но руки пока не доходят

Igor
07.03.2017
14:35:06

Friedrich
07.03.2017
14:36:33

Igor
07.03.2017
14:37:14

Google

Friedrich
07.03.2017
14:37:34
По CPU не могу объяснить свои наблюдения, но у меня рядом стоит простой сервер на JVM и на CoreCLR. Так вот, первый на текущий момент съел 4 часа CPU time, а второй полторы минуты. Работают одинаковое время, нагрузка одного порядка.
Однако приложения разные, и я не берусь утверждать, что даже порядок потребления CPU на такой нагрузке должен совпадать. Может быть, просто на CoreCLR-сервер никто не заходит :)

Igor
07.03.2017
14:41:02

Friedrich
07.03.2017
14:41:17
Ну не 4 часа же!

Igor
07.03.2017
14:41:29

Friedrich
07.03.2017
14:41:55
Не, я не спорю, мои "наблюдения" нельзя назвать бенчмарками. И я не говорю, что JVM плохая, не подумайте :)

Igor
07.03.2017
14:42:52
ОК, кстати уже баян, но может кто не слышал еще http://razbor-poletov.com/2016/11/episode-121.html

Friedrich
07.03.2017
14:47:56
А я вот как раз и не слышал, спасибо. Послушаю.

Roman
07.03.2017
15:02:10

Vasily
07.03.2017
15:02:52
Да, тоже вариант кодогенерации

Roman
07.03.2017
15:49:23

Friedrich
07.03.2017
15:50:03

Roman
07.03.2017
15:51:32

Google

Roman
07.03.2017
15:51:57
Asp.net в функциональном стиле

Igor
07.03.2017
15:53:29
Кстати, NancyFx никто не пробовал в F#?

Friedrich
07.03.2017
15:55:58
ОК, кстати уже баян, но может кто не слышал еще http://razbor-poletov.com/2016/11/episode-121.html
Вообще, очень смешно на этот выпуск смотреть с обеих сторон. Похоже, жавошники считают, что у нас в дотнете всё плохо, экосистема страшная, нету обратной совместимости, и вообще дотнет помирает.
Из опыта общения с теми, кто пишет под дотнет — настроения противоположные: это жава умирает и в ней всё плохо, нету библиотек и обратной совместимости %)
Но я пишу под то и другое, и знаю страшную правду: умирают обе платформы, и всех скоро поглотит жабаскрипт %)
(шутка)

Igor
07.03.2017
15:57:34
Особенно когда работает и с тем и с другим (много лет xamarin и android).

Friedrich
07.03.2017
16:00:25
Особенно когда работает и с тем и с другим (много лет xamarin и android).
Под Андроид ещё более своя атмосфера. Вся эта модель с распространением софта через Android SDK Manager отдельно от общих репозиториев пакетов — это тотальный геморрой для всех. Хоть для тех, кто в Gradle компиляет Java-проекты, хоть для тех, кто на Xamarin пишет, и вынужден у себя хранить огромный Android SDK.

Igor
07.03.2017
16:01:17

Friedrich
07.03.2017
16:01:48
Ого, правда? Это очень хороший прогресс.
У меня у самого только старые проекты под Андроид, я боюсь там что-то трогать и менять :)
А чо, посаны, ждём VS2017?

Akhmed
07.03.2017
16:19:00
а зачем ждать - я уже ставлю :)

Friedrich
07.03.2017
16:19:03
Там же F# 4.1 будет, со структурками во многих местах, ускорением компиляции и всякими плюхами.
(я уже тоже ставлю поверх RC)

Roman
07.03.2017
16:21:16
https://launch.visualstudio.com/ VS2017 is here!

Alexander
07.03.2017
17:06:59
смотрели трансляцию? что инетерсного было?

Friedrich
07.03.2017
17:14:09
Новый компилятор субъективно и правда стал быстрее.

Igor
07.03.2017
17:14:36

Friedrich
07.03.2017
17:14:47
Ну да, мы же в F#-чате :)

Igor
07.03.2017
17:15:31
У меня просто нет винды что бы протестить ?

Friedrich
07.03.2017
17:16:31
А под операционными системами разве новый F# нельзя поставить?

Igor
07.03.2017
17:17:31

Google

Friedrich
07.03.2017
17:19:39
Погоди, щас я тебе найду. И у себя потестю тоже.
Чёрт, не могу документации найти :(
https://www.infoq.com/news/2017/01/fsharp-4-1 вот самое свежее, что нашёл.
Давай вот эту строчку тестить: let origin = struct (0, 0)

Alexander
07.03.2017
17:30:32
а сколько новой студии надо гигов минимум? Боюсь места не хватит

Igor
07.03.2017
17:43:51
Давай вот эту строчку тестить: let origin = struct (0, 0)
dotnet new console --language вроде создает с 4.1 но не компилит.
Не было такой ошибки?
FSC : error FS0074: The type referenced through 'System.ValueTuple2' is defined in an assembly that is not referenced. You must add a reference to
assembly 'The system type 'System.ValueTuple2' was required but no referenced system DLL contained this type'.

Akhmed
07.03.2017
18:54:07
Live Unit Testing is present in the Enterprise edition of Visual Studio 2017 and it’s available for C# and VB projects that target the .NET Framework. :(

Roman
07.03.2017
19:15:20
поэтому, кстати, не компилится гораздо чаще чем C#)

Arseniy
07.03.2017
19:29:02

Igor
07.03.2017
19:34:24

Evgeniy
07.03.2017
19:38:35
Кто не должен? Все должны.

Arseniy
07.03.2017
19:40:48
не
все эти вещи очень сильно мешают писать код. в смысле продуктивно писать код.

Evgeniy
07.03.2017
19:46:40
Мне помогают!
Пойду напишу еще немного кода.

Roman
08.03.2017
02:09:14
Господа, вдруг кто считает что ему интересно
https://hh.ru/vacancy/19622482

Friedrich
08.03.2017
06:21:45

Google

Friedrich
08.03.2017
06:25:48

Alexander
08.03.2017
06:28:13

Roman
08.03.2017
21:26:16

Combot
08.03.2017
21:32:09
combot.org/chat/-1001116883766

Evgeniy
09.03.2017
05:27:16
Установил VS2017. Работает, но не без багов.
Что-то поломано в отображении ошибок компиляции.
https://github.com/Microsoft/visualfsharp/issues/2547
https://github.com/Microsoft/visualfsharp/issues/2548

Friedrich
09.03.2017
06:24:43
История с System.ValueTuple вообще очень мутная. Например, в проекте на C# можно использовать свою реализацию для этой структуры, и на этом багует уже решарпер :)
(я им зарепортил)
В следующую версию фреймворка обещали его просто взять и включить.

Anton
09.03.2017
08:22:57
хм, пока не обновлялся.

Evgeniy
09.03.2017
08:24:17
Меня больше всего радует, что теперь VSIX со свежим мастером visualfsharp публикуют.
Можно фиксы (и новые баги) быстрее получать. :)

Anton
09.03.2017
08:56:34
Я останусь в своём уютном vs code & ionide
Я даже на C# не пишу в визле =)

Alexander
09.03.2017
09:58:18

Igor
09.03.2017
10:01:49
Привет, что-то чат скатился (к обсуждению VS и C# ?) - пора подбросить дровишек.
Вот реализация типа Reader в F# с fsharpforfunandprofit:
type Reader<'environment,'a> = Reader of ('environment -> 'a)
Как видно - она не предполагает асинхронности. Это просто функция из "окружение" в "результат".
Но что делать если в цепочки вызовов нужно будет вставить "низкоуровневый" метод с "сайд эффектами",
который перескачит с главного потока и потом обратно (типа I/O async/await)?
Не могу же лочить UI поток?

Vasily
09.03.2017
10:02:34
Запустить в async?

Igor
09.03.2017
10:04:13

Vasily
09.03.2017
10:04:53
type Reader<'environment,Async<'a» = Reader of ('environment -> Async<'a>)
Хотя не, так не прокатит

Google

Vasily
09.03.2017
10:06:00
Тьфу, ошибся
Слева Async не нужен

Igor
09.03.2017
10:06:38
Да и вообще хотелось бы выть на уровне Haskell и не втаскивать F# частные реализации.
Я пока думал над
type AsyncReader<'environment, 'a> = AsyncReader of ('environment -> (unit -> unit) -> 'a)

Vasily
09.03.2017
10:07:38
Тогда лучше ('environment->unit) list ->'a
Ну или без листа
Недавно статью видел на похожую тему про стримы как раз
В целом, можно свой expression написать, по идее
Со всей нужной логикой

Roman
09.03.2017
10:24:27

Vasily
09.03.2017
10:25:14

Roman
09.03.2017
10:27:09
так не прокатит?

Vasily
09.03.2017
10:27:51
Тогда уж надо склейку городить по идее
»>

Roman
09.03.2017
10:30:28

Vasily
09.03.2017
10:31:22
Но красивее оператор переопределить :)
Шо-нить типа ?=>

Igor
09.03.2017
10:31:39