
Evgeniy
27.09.2017
17:31:42
Для хипстеров.
Проще и красивее, наверное, скриншоты из vscode выдергивать.

k0balt
27.09.2017
17:32:49
надо конечно лигатуры и кнопку копировать в буфер

Летучая
27.09.2017
17:33:07

Google

Летучая
27.09.2017
17:34:25

Evgeniy
27.09.2017
17:34:44
Да, пожалуй.

Летучая
27.09.2017
17:35:44

k0balt
27.09.2017
17:36:09
а файлом?

Igor
27.09.2017
17:36:59
У тебя глаза не болят от такого мелкого шрифта?

Летучая
27.09.2017
17:38:02

Nikolay
27.09.2017
18:23:44
Там новый райдер вышел, F# .Net Core не починили?

Evgeniy
28.09.2017
03:42:25

ilfat
28.09.2017
04:44:09
/

Roman
28.09.2017
04:59:59
That makes this the fastest approved suggestion from the community ever I think :)

Friedrich
28.09.2017
05:01:37
А моё прошлое предложение он апрувнул за несколько минут ?
(но оно было не настолько важным, я там просто ворнинги предлагал поменять)

Evgeniy
28.09.2017
07:33:22
Нян.
https://github.com/Microsoft/visualfsharp/pull/3582#issuecomment-332628580

Google

Artemy
28.09.2017
07:37:40
Так что, их (трейты/тайпклассы) всё-таки скорее введут, чем не введут?

Evgeniy
28.09.2017
07:40:48
Но да, эта фича — кандидат на включение в F#4.2

Artemy
28.09.2017
07:42:40

Evgeniy
28.09.2017
07:44:04

Nikolay
28.09.2017
07:44:22
А тайпклассы в C# когда завезти собираются?

Artemy
28.09.2017
07:44:26
А, ну тогда, наверное, не раньше весны.

Evgeniy
28.09.2017
07:44:44

Nikolay
28.09.2017
07:45:12

Evgeniy
28.09.2017
07:45:35
Настоящие трейты все-таки удобны тем, что они выглядят как интерфейсы: набором операций, объединенных один именем.

Artemy
28.09.2017
07:47:19
А тут будут типа абстрактного класса?

Friedrich
28.09.2017
07:47:39

Evgeniy
28.09.2017
07:47:49
Был RFC на починку синтаксиса SRTP.
А вот про алиасы для констрейнтов — не нашел.

Friedrich
28.09.2017
07:50:00
А extend-операторы можно делать или нет?

Google

Friedrich
28.09.2017
07:50:06
А то на операторах-то бы всё получилось само.

Evgeniy
28.09.2017
07:50:08

Artemy
28.09.2017
07:50:11
А, т.е. просто будет завязка на имя метода, а не реализация экземпляра тайпкласса?

Evgeniy
28.09.2017
07:50:18
type System.Int32 with
static member (++)(a: int, b: int) = a
1 ++ 2

Friedrich
28.09.2017
07:50:24
А, ну и збс.

Nikolay
28.09.2017
07:51:00

Friedrich
28.09.2017
07:51:25
Значит, можно все методы тайпклассов заменить операторами, и SRTP будет сам выводить, какие операторы нужны. Да и читать такой код намного веселее, правда же? ?

Artemy
28.09.2017
07:51:27
Ладно. А по сравнением с текущими возможностями что добавится? А то, признаться, я не то что бы хорошенько опробовал все возможности SRTP.

Evgeniy
28.09.2017
07:52:54

Artemy
28.09.2017
07:53:20
Ну можно разве что type augmentation сделать
Сейчас

Pavel
28.09.2017
07:53:43
значит ли это, что List.map, Seq.map, Option.map больше не нужны и везде можно будет делать просто map?

Artemy
28.09.2017
07:54:01
А, я понял. Сейчас, видимо, эти добавленные методы не будут видны для обобщения, так?

Siarhei
28.09.2017
07:54:09
@gsomix ты вроде AvaloniaUI рекламировал, как там дела обстоят с производительностью? просто когда я тыкал демо с контролами, оно дико тормозило...

Friedrich
28.09.2017
07:54:12

Evgeniy
28.09.2017
07:54:32

Friedrich
28.09.2017
07:54:33

Evgeniy
28.09.2017
07:54:45

Artemy
28.09.2017
07:54:46

Google

Friedrich
28.09.2017
07:54:53
Просто пишешь функцию map<^T>, которая вызывает T.map.

Siarhei
28.09.2017
07:55:14

Evgeniy
28.09.2017
07:55:30

Friedrich
28.09.2017
07:55:37
Про F# только один чат. Остальные про другое (в основном про C#).

Evgeniy
28.09.2017
07:56:23

Friedrich
28.09.2017
07:56:29
Да, ты прав. Ну, значит, пока не судьба.

Siarhei
28.09.2017
07:57:03

Artemy
28.09.2017
07:57:06
Просто пишешь функцию map<^T>, которая вызывает T.map.
Хм, до такого не додумывался. Хотя не то что бы много об этом думал.) Меня варианты <module name>.<function name> в каком-то смысле даже нравятся, т.к. сразу ясно, где какой тип. Особенно, если в конвейере есть переходы от одного к другому.

Evgeniy
28.09.2017
07:57:17

Friedrich
28.09.2017
07:57:35

Evgeniy
28.09.2017
07:57:39

Siarhei
28.09.2017
07:57:45

Evgeniy
28.09.2017
07:57:59
В рамках этой библиотеки можно будет дописать обобщенные реализации.

Friedrich
28.09.2017
07:59:00

Evgeniy
28.09.2017
07:59:14

Friedrich
28.09.2017
07:59:19
?

Evgeniy
28.09.2017
07:59:39
Сегодня пойти и починю. Теперь эта библиотека кажется мне очень важной. :)

Artemy
28.09.2017
08:00:22
@gsomix говорит, что так не будет работать :(
Ну и ладно. Единственное, что пока реально бывало нужным, это обобщённый >>= оператор. Когда в коде использовал как Option, так и Choice и не хотелось писать длинные |> Option.bind ... и |> Choice.bind ...

Google

Friedrich
28.09.2017
08:00:47

Evgeniy
28.09.2017
08:01:08

Artemy
28.09.2017
08:01:45
Ну я просто брал FSharpx.extras и FSharpPlus

Evgeniy
28.09.2017
08:01:51

Artemy
28.09.2017
08:01:53
И всё работало

Evgeniy
28.09.2017
08:02:19
@artemy_b Я могу поискать, кстати, неплохую презентацию про внутренности FSharpPlus, если интересно.

Artemy
28.09.2017
08:02:27
В FSharpx.Extras просто много полезных дополнительных функций для Choice и Option
Там, наверное, дикие подвыподверты.

Evgeniy
28.09.2017
08:04:23

Artemy
28.09.2017
08:05:14
Ммм, мечта!

Friedrich
28.09.2017
08:09:22
Но фишка в том, что все реализации тайпклассов должны с собой тащить этот FSharpPlus
Или я путаю с FSharp.Control.Monad?

Nikolay
28.09.2017
08:13:20

Artemy
28.09.2017
08:13:26
Вот этого не знаю. Я не пробовал c FSharpPlus чего-то серьёзного. Лишь один раз подключал для решения вышеописанной проблемы с >>=

Evgeniy
28.09.2017
08:13:30
Держите презенташку от Томаша про сложности жизни в мире JS.
http://tpetricek.github.io/Talks/2017/multi-runtime-challenges/

Artemy
28.09.2017
08:22:03
Кстати, новый сайт Fable менее симпатичный, чем старый (п -моему мнению).