
Roman
01.06.2018
16:46:22

Alexander
01.06.2018
16:46:57
Лол

Friedrich
01.06.2018
16:47:04
У JVM ты можешь куда больше вещей настроить - сколько ты хочешь отдать памяти, какие пиковые нагрузки, сколько процентов должно быть занято и т.п. Это важно для оптимизаций под конкретную нагрузку. ГЦ, который пытается услужить всем, всегда будет хуже настроенного и оттюненного ГЦ.
Так что ручки нужны, я считаю. И их нам добавят.

Google

Friedrich
01.06.2018
16:47:58
Просто gc.cpp уже никто не может прочитать, так что пришлось внедрять проект по его полной замене, и только потом уже делать ручки :)

Roman
01.06.2018
16:48:20
Но, да, было бы не плохо, согласен

Friedrich
01.06.2018
16:48:49

Roman
01.06.2018
16:49:20

Friedrich
01.06.2018
16:49:51
Метрики нагрузки тоже, конечно, анализировать надо уметь. То есть это не только вопрос ручек, но и вопрос профилировщиков, и навыков разработчика тоже. Но ручки бы пригодились.

Roman
01.06.2018
16:50:38
В джаве без этого хуже, поэтому там ручки и нужнее

Friedrich
01.06.2018
16:51:41
Для массивов не сработает, но для мест, где хочется микрооптимизировать — вполне.
Но это, безусловно, важно, если ты собираешься портировать ГЦ из жавы. Его придётся перетюнивать под наши профили нагрузки, которые от жавошных отличаются.

Ivan
01.06.2018
20:41:21

Google

Ivan
01.06.2018
20:47:06
Кстати посмотрите на новый флаг в .NET Core 2.1. Кажется RyU Git теперь держит двухстадийную компиляцию

Evgeniy
01.06.2018
21:27:42
*RyuJIT

Andrew
01.06.2018
21:40:29
Всем привет
Еще такой вопрос, возможно ли как то привести вложенный union case к более абстактному?
Типо у меня что то такое
type Something = A
and A =
| B of C
| ...
and C =
| D of string * obj
| ...
Можно как то привести D к A чтобы компилятор не ругался?

Vasily
01.06.2018
22:18:59
A.B.D по идее

Klei
01.06.2018
22:57:07

Ivan
02.06.2018
00:06:41

Evgeniy
02.06.2018
07:17:35
Привет.

Летучая
02.06.2018
07:19:31
Здравствуйте! Есть ли синтаксический сахар для кoмбинирoвания двух и бoлее Option? Чтoбы, например, на выхoд пoлучить какoй-нибудь 'T option * 'U option вместo:
match firstOption with
| Some first ->
match first.Next with
| Some next -> invoke first next
| None -> ()
| None -> ()
Есть Option.bind (fun first -> first.Next), нo нужнo вернуть и first, и next как-нибудь красивo.

Roman
02.06.2018
07:19:33
Hi, как дела?

Vasily
02.06.2018
07:20:19
Не хочу писать слово, которое я часто употребляю

Летучая
02.06.2018
07:20:57

Vasily
02.06.2018
07:21:10
У Влашина почитай

Летучая
02.06.2018
07:34:04
Maybe monad
А нет ли готовых годных билдеров для Option? Дело в том, что здесь целая библиотека на них построена, и нужно повзаимодействовать.

Evgeniy
02.06.2018
07:34:41
@sergey_tihon Кажется, здесь нужна твоя помощь.
https://github.com/fsprojects/FSharpx.Extras/pull/360#issuecomment-388575151


Летучая
02.06.2018
07:55:40

Vasily
02.06.2018
08:01:45
Ещё есть defaultArg

Google

Vasily
02.06.2018
08:01:57
И Option.bind
Без всяких сторонних библиотек

Evgeniy
02.06.2018
08:02:48

Vasily
02.06.2018
08:03:24
Кстати, вопрос про кортежи

Mikhail
02.06.2018
08:03:55
Некрасиво.
Можно ли мечтать о тайпклассах в F#, или лучше смириться?

Vasily
02.06.2018
08:04:01
Если кортеж из трёх элементов,что вернёт snd

Evgeniy
02.06.2018
08:04:20

Mikhail
02.06.2018
08:04:30
Просто спросил
Тайпклассы - это красиво

Vasily
02.06.2018
08:04:44
Спросил он просто
Тут должна быть картинка из Простоквашино

Evgeniy
02.06.2018
08:05:12

Vasily
02.06.2018
08:06:52

Mikhail
02.06.2018
08:07:08

Evgeniy
02.06.2018
08:07:43
Для стандартных типов и своих собственных проблема решается.

Mikhail
02.06.2018
08:09:18

Evgeniy
02.06.2018
08:11:00
В F#5, когда починят SRTP, можно будет и для чужих типов решить.
Но тайпклассы не планируются.

Google

Летучая
02.06.2018
08:12:06
@gsomix, а OptionBuilder обычно сами пишут или есть какой-то пакет, который можно установить?

Evgeniy
02.06.2018
08:12:39

Летучая
02.06.2018
08:13:12

Evgeniy
02.06.2018
08:13:38

Летучая
02.06.2018
08:15:21

Friedrich
02.06.2018
08:18:08

Evgeniy
02.06.2018
08:19:08

Летучая
02.06.2018
08:20:45
https://github.com/jack-pappas/ExtCore/blob/42d629bc434248f77c2a8fc663b92167079d071f/ExtCore/Control.fs А ExtCore с .NET Core таки сoвместим, вариант испoльзoвать.

Sergey
02.06.2018
08:33:46

Evgeniy
02.06.2018
08:34:28
Ура1

Friedrich
02.06.2018
08:35:23
?

Evgeniy
02.06.2018
08:49:01
> dsyme
> Please do use the pre-releases of F# 4.5 that you'll be seeing coming out (or even just the nightlies) as EARLY as possible, and give feedback as EARLY as possible. The cost to fix a problem or make a design adjustment goes from "low" to "infinity" over the next few weeks....
?

Vasily
02.06.2018
08:49:23
А что там нового?

Evgeniy
02.06.2018
08:49:35
Спаны.

Vasily
02.06.2018
08:50:05
Стратегические изменения, в общем

Evgeniy
02.06.2018
08:51:51
И всякая мелочевка.
https://github.com/Microsoft/visualfsharp/pulls?q=is%3Apr+label%3A%22Candidate+for+F%23+4.5%22+is%3Aclosed
Но спаны — это топ.
Анонимные записи, кажется, в F#5 переезжают.

Igor
02.06.2018
09:13:22

Evgeniy
02.06.2018
09:14:30
Для перфоманса.

Google

Mikhail
02.06.2018
09:25:14
А что, можно в фшарп проекте иметь c# файлы?

Evgeniy
02.06.2018
09:25:49
Нет.

Ivan
02.06.2018
09:27:23
Обидно. Первый раз F# в догоняющих. И без опережающих фич.. Я о 5

Mikhail
02.06.2018
09:28:41
Нет.
Мне сгенерило C# контроллер в f# asp.net проекте. Меня смутило, что это билдится, имеет подсветку и интеллисенс

Vlad
02.06.2018
09:28:57

Ivan
02.06.2018
09:31:25
Можно

Friedrich
02.06.2018
09:34:10

Mikhail
02.06.2018
09:35:25
Я в студии нажал на Add Controller. И появился .cs файлик. Он то не включается в сборку, но подсветочку имеет

Roman
02.06.2018
09:37:30

Friedrich
02.06.2018
09:38:20

Roman
02.06.2018
09:40:30

Ivan
02.06.2018
09:44:22

Evgeniy
02.06.2018
09:46:50
Нужно старые сложные фичи до ума довести сначала: SRTP, TP, quotations.

Ivan
02.06.2018
09:50:34
SRTP - это в общем то и есть тайпклассы. TP + Quotation - метапрограммирование. Если до ума доводить - получится что то. Но ведь в планах этого соответсвия нет..

Evgeniy
02.06.2018
09:50:52

Ivan
02.06.2018
09:51:57
А где почитать?