
Roman
14.04.2017
13:34:47
А ты не питонист?

Алексей
14.04.2017
13:58:34
Неа

Friedrich
14.04.2017
16:38:58
Какой у нас сегодня ажиотаж, два человека пришло в один день. Признавайтесь, кто-то чатик рекламирует :)

Evgeniy
14.04.2017
16:43:04
Не я.

Google

Evgeniy
14.04.2017
16:54:04
https://github.com/Microsoft/visualfsharp/issues/2854

Roman
14.04.2017
17:53:57
?50 ?

Evgeniy
14.04.2017
18:36:19
Ура.
Довольно живой чат. :)

Andrew
14.04.2017
18:40:53
/me
/me

Алексей
14.04.2017
18:48:22
Разбавлю скуку: у кого проекты в продакшене на f# и какого типа проекты?

Evgeniy
14.04.2017
18:56:24
Мне тоже было бы интересно послушать.

Igor
14.04.2017
18:58:14

Алексей
14.04.2017
19:01:44
Интересует реальное использование, а не так: дома накидал для интереса

Igor
14.04.2017
19:02:27

Roman
14.04.2017
20:25:42

Google

Roman
14.04.2017
20:29:02
Ты вернулся

Evgeniy
15.04.2017
09:31:02
У кого есть идеи для интересных провайдеров типов? :)
Неплохо было бы иметь провайдер, который генерирует байндинги к нативному коду.
Например, с помощью CppSharp.

Му
15.04.2017
09:39:34
что за провайдеры типов?

Evgeniy
15.04.2017
09:39:54
https://docs.microsoft.com/en-us/dotnet/articles/fsharp/tutorials/type-providers/
Не знаю, как правильно на русском это должно звучать. :)

Friedrich
15.04.2017
10:25:22
Батюшки, Freya-то уже портировали на неткор!

Evgeniy
15.04.2017
10:36:22
@fvnever С разморозкой!

Roman
15.04.2017
10:41:53

Evgeniy
15.04.2017
10:42:11
Покажи!
@fvnever Ты, наверное, и доклад про Freya+Hopac не смотрел еще с F# eXchange?

Friedrich
15.04.2017
10:43:46
Я вообще ничего ещё оттуда не смотрел. Я пока только до dotnext добрался.

Evgeniy
15.04.2017
10:43:59
Ок.
@fvnever Я еще в новостях ссылку кидал на вот эту доску.
https://trello.com/b/9npZ71q8/run-on-net-core
Много работы!

Friedrich
15.04.2017
10:46:05
А вот это я видал.

Roman
15.04.2017
10:46:29

Friedrich
15.04.2017
10:46:31
Ну, это хорошо, понемножку перетащим весь стек.

Google

Evgeniy
15.04.2017
10:48:04
@fvnever Стек на дотнеткор, компилятор в одну репу, и заживем. :)

Friedrich
15.04.2017
10:48:35
В смысле‚ в отдельную репу?

Evgeniy
15.04.2017
10:48:53
В одну.

Friedrich
15.04.2017
10:49:02
В одну репу с чем?

Evgeniy
15.04.2017
10:49:37
Хотят слить fsharp/fsharp, visualfsharp и FCS.

Friedrich
15.04.2017
10:49:45
Плохо!

Evgeniy
15.04.2017
10:49:50
Почему?

Friedrich
15.04.2017
10:49:54
В visualfsharp там же тулинг от студии.

Evgeniy
15.04.2017
10:49:56
Сейчас плохо.

Friedrich
15.04.2017
10:50:00
Это наоборот, надо его оттудова выносить!

Evgeniy
15.04.2017
10:50:07
Тулинг, возможно, вынесут из репы.
Но не факт.

Friedrich
15.04.2017
10:50:18
Только хуже будет :(

Evgeniy
15.04.2017
10:50:20
Не будет.
Сейчас хуже всего ситуация, когда чуваки пишут в три репозитория.
Хотят пока, чтобы в visualfsharp все было.
А дальше можно думать будет, чтобы вынести тулинг VS отдельно.
И сделать так, чтобы все собиралось и тестировалось на любых платформах.

Friedrich
15.04.2017
10:52:31
Ну, вот в таком описании звучит не страшно.

Google

Evgeniy
15.04.2017
10:52:58
@fvnever Я вчера кидал план.
https://github.com/Microsoft/visualfsharp/issues/2854

Friedrich
15.04.2017
10:53:19
Пожалуй, что в любом случае надо обе задачи решать: и выносить тулинг отдельно, и мержить кусочки конпилятора.
Кароч, они там в Freya всё разломали!
Лол, в 4.1 чтоли поменяли тип для Option.orElse?
У меня раньше работал код someOptionString |> Option.orElse ""
А теперь перестал!
И непонятно, нафиг вообще такой оператор нужен :(

Igor
15.04.2017
13:31:18

Friedrich
15.04.2017
14:52:31
Да, я с этим разобрался сразу. Просто странно, что поменялась сигнатура у функции.
В общем, с Freya на коре всё хорошо, я пока что в ней багов не нашёл.
Правда, RazorEngine не портировали на кор. Это вызывает неудобства :(
(но к Freya не относится, это отдельный проект)

Evgeniy
15.04.2017
14:59:57
@fvnever Какая сейчас сигнатура у orElse?

Friedrich
15.04.2017
15:00:41

Evgeniy
15.04.2017
15:01:30
Занятно.
Но зачем -- понятно.
Если выбираешь из нескольких option.
@fvnever Я тебе больше скажу, раньше такой функции в Core не было.

Friedrich
15.04.2017
15:06:01
Интересно, а откуда я её тогда брал?

Evgeniy
15.04.2017
15:06:35
Может в Freya была?

Google

Friedrich
15.04.2017
15:06:45
Щас разберёмся.
На FSharp.Core я жаловался напрасно. Туда просто добавили эту функцию, а совместимость не трогали :)

Nikolay
15.04.2017
15:27:42
В F# есть аналог using()? Хотя это тоже не по функциональному

Andrey
15.04.2017
15:28:06
Use

Friedrich
15.04.2017
15:29:04
use stream = new FileStream("xxx")
Автоматически задиспозит в конце блока.
Если вдруг нужен отдельный скоуп, используй do:
do
use x = new FileStream("xxx")
// ...
// ... (тут будет Dispose)
Хотя такое вот уже совсем редко когда требуется.

Nikolay
15.04.2017
15:37:43
Ок, спасибо

Klei
15.04.2017
16:02:02
Мне нужно создать список объектов подобного типа:
type Projection<'a when 'a : comparison> = string -> 'a
Но такой, что 'a может быть различным для элементов этого списка.
Есть способ как-то это реализовать?

Evgeniy
15.04.2017
16:12:44
Хороший вопрос.
@Kleidemos Я бы, наверное, сделал тип Projection без дженерика, и все в него паковал.
Ну, и список Projection соответственно.

Klei
15.04.2017
16:19:22
А как сделать его без дженерика, но с ограничением на 'a?

Evgeniy
15.04.2017
16:22:25
Сек.
@Kleidemos Сложно получается, конечно. Короче, идея была в том, чтобы сделать как в TypeShape, через экзистенциальные типы. По сути там визитор обычный.
https://pastebin.com/0T9RrTTG