@Fsharp_chat

Страница 579 из 772
Vasily
22.05.2018
12:31:22
Коллеги,а можно ли из мейлбокса отправить сообщение в этот же мейлбокс?

Roman
22.05.2018
12:40:02
если без ответа только

но зачем тебе если ты можешь явно вызвать loopFunc?

Google
Vasily
22.05.2018
13:15:50
Ну мне же не стейт надо,а сообщение в него

Roman
22.05.2018
15:08:41
Vasily
22.05.2018
15:15:48
так ты дедлок сделаешь
Ну надо проверить будет, конечно.

Ща пишу код и наслаждаюсь скоростью имплементации нового функционала

Часы вместо дней

Mikhail
22.05.2018
15:20:59
Я правильно понял, что Rx.NET вшили в стандартную библиотеку f# ?

Тут IObservable есть. И события автоматически IObservable

Roman
22.05.2018
15:24:13
Они там были изначально

Mikhail
22.05.2018
15:25:24
Я просто не могу уловить связь между Rx и встоеным функционалом

Roman
22.05.2018
15:27:04
Я просто не могу уловить связь между Rx и встоеным функционалом
Observable есть в стандартной библиотеке .net (не только в F#) если мне не изменяет память, поверх этих интерфейсов уже сделали Rx

связи и нет

Mikhail
22.05.2018
15:28:18
Тут столько функций уже идет из коробки. Актуален ли Rx в F#?

Google
Roman
22.05.2018
15:29:55
Тут столько функций уже идет из коробки. Актуален ли Rx в F#?
если встроенных не хватает, то почему нет? кто-то даже билдер писал для rx

Vladimir
22.05.2018
21:29:57
Тут столько функций уже идет из коробки. Актуален ли Rx в F#?
Посмотри, хватает ли коробки. Если нет, надо Rx подключать

Pavel
23.05.2018
05:18:34
Коллеги,а можно ли из мейлбокса отправить сообщение в этот же мейлбокс?
можно и не передавать ссылку, в функции-обработчике inbox'у можно сделать Post

Evgeniy
23.05.2018
05:42:32
ReasonDojo 27 Мая в воскресенье в СПб и Москве СПб: https://reasonml.timepad.ru/event/728903/ Москва: https://reason.timepad.ru/event/727210/ Мест не много, потому что менторов мало. Если готовы поменторить в СПб – пишите @andreypopp в личку, в Москве – @rustykey.

Mikhail
23.05.2018
13:13:11
Как называется такой синтаксис? let foo = function | Some x -> 42 | None -> 0Это сахар для match arg with.. ?

A64m
23.05.2018
13:23:49
это ж лямбда, да, она больше ПМ-а позволяет чем та лямбда, которая fun

pattern-matching function в спеке называется

Артём
23.05.2018
15:35:21
Коллеги, я же верно понимаю, что провайдеры типов не могут объявлять размеченные объединения? И если это так, то никто случаем не в курсе есть ли планы это дело исправлять?

Vasily
23.05.2018
15:36:10
Что такое размеченные объединения?

Vasily
23.05.2018
15:36:26
Омфг

Скорее всего не могут, да

Там плейн типы

Roman
23.05.2018
15:39:23
А по моему могут. В xsd tp вроде были типы IntOrString

Или в xml tp

Friedrich
23.05.2018
15:40:32
У меня такая гипотеза: для настоящего DU нужен не только код в сборке, но и метаинформация, которая, как известно, в F#-сборках идёт отдельным блобчиком. Отсюда следует, что проблема заключается в том, что 1) Type Provider SDK не умеет вообще генерировать F#-specific метаинформацию для сгенерированных типов, нету в нём такого API 2) даже если б TPSDK это умел делать (мы запросто можем это туда засунуть) — компилятор F# эту информацию не умеет потреблять. А ведь он при построении итогового кода должен прочитать сборку из TPSDK, распарсить её и смержить с настоящим кодом. Чтение и мержинг метаинформации там, кажется, не реализованы.

Можно придумать какие-нибудь ad-hoc решения чисто для DU (кодировать в сгенерированной сборке такие типы атрибутом, на выходе разбирать компилятором), ну или сразу выкатывать полноценное решение с чтением, парсингом и мержингом метаинформации.

Артём
23.05.2018
15:48:05
Второй пункт вызывает много вопросов. Если компилятор не потребляет эту мечту, то кому она ещё нужна?

Google
Friedrich
23.05.2018
15:48:28
Он её не потребляет только из сборок, продуцируемых TPSDK

Он её потребляет для обычных референсов

А с TPSDK там примерно такой пайплайн: тайп-провайдер генерирует сборку и сохраняет её на диск. А компилятор её хавает, парсит, вшивает в остальной код (в настоящую выходную сборку), а сборку из провайдера удаляет

Учитывайте, что моё понимание может быть неполным или ошибочным, больно уж хитро там всё.

А с TPSDK там примерно такой пайплайн: тайп-провайдер генерирует сборку и сохраняет её на диск. А компилятор её хавает, парсит, вшивает в остальной код (в настоящую выходную сборку), а сборку из провайдера удаляет
↑ тут есть ещё такая особенность: тайп-провайдеры изначально планировались как механизм для потребления типов из обычных языков типа C#, а вовсе не для F#-кода. Поэтому метаинформация не учитывается, и поэтому всё кажется таким странным. Механизм был переоборудован в древние времена, и потому смотрится так чужеродно.

Roman
23.05.2018
22:05:45
Привет?

Evgeniy
24.05.2018
06:03:19
Доброе утро. https://github.com/Microsoft/visualfsharp/pull/4971

tl;dr Починили перфоманс автокомплита для большого количества перегрузок.

Roman
24.05.2018
06:07:29
Evgeniy
24.05.2018
06:08:01
> dsyme > Yes, the code was written on the assumption to the 20 overloads of the same name found in WriteLine and friends was at the upper end of what we would see. That was 2006.

?

Привет.

Gradi
24.05.2018
10:44:29
Привет.
Привет. Тут можно задавать очень глупые и абстрактные вопросы?

Roman
24.05.2018
10:46:39
Gradi
24.05.2018
10:46:46
У меня больше вопрос по теме C# vs F# (не срача ради). Если стоит абстрактная задача написать транслятор с чего-либо на что-либо, то что удобней использовать из двух языков?

Gradi
24.05.2018
10:48:39
Ну вот я сейчас работаю с Expression Trees в c# чтобы перегонять linq запросы в sql clickhouse'a. И вот чёт как-то муторно получается. Вот стало интересно, может на F# подобное можно делать как-то проще?

Google
Evgeniy
24.05.2018
10:56:24
http://langexplr.blogspot.ru/2007/05/using-f-active-patterns-with-linq.html

Gradi
24.05.2018
10:57:16
Понятно. Буду ковырять тогда F#

Evgeniy
24.05.2018
10:57:36
Спрашивай, если будет что-то непонятно. :)

Andrew
24.05.2018
10:57:49
На мой взгляд F# в любом случае стоит того, чтобы его поковырять)

Andrew
24.05.2018
11:06:29
В F# есть расширяемый pattern matching: пожалуй, обход деревьев выражений будет повеселее писать.
Он удобен в качестве точки объединения абсолютно разных типов, но если у нас дерево и все узлы наследуются от какого-нибудь NodeBase, то обычное наследование с переопределением метода будет возможно даже удобнее благодаря модульности

Andrew
24.05.2018
11:17:39
Все обработчики в одном месте?

Evgeniy
24.05.2018
11:18:09
Andrew
24.05.2018
11:18:11
Это ж наоборот дичь-с

Evgeniy
24.05.2018
11:18:32
?

Andrew
24.05.2018
11:18:50
Логично держать вместе все, что касается одной ноды

Добавляешь новую - не надо трогать код обработки

Evgeniy
24.05.2018
11:20:11
О, привет дуальность классов/наследования и АТД в expression problem.

Anna
24.05.2018
11:20:18
это expression problem, господа

ой :)

Evgeniy
24.05.2018
11:20:32
Добавляешь новую - не надо трогать код обработки
Зависит от того, множество различных нод открытое или закрытое.

Andrew
24.05.2018
11:20:49
О, интересно, у этой штуки есть название?

Киньте ссылочку если есть толковая статья по этой теме

Evgeniy
24.05.2018
11:21:44
Секунду.

Google
Evgeniy
24.05.2018
11:21:58
https://oleksandrmanzyuk.wordpress.com/2014/06/18/from-object-algebras-to-finally-tagless-interpreters-2/

Alexey
24.05.2018
11:23:16
Можно тут запостить f# релевантную вакансию?

Evgeniy
24.05.2018
11:23:22
Я исхожу из того, что обычно множество разных узлов в AST закрытое. Поэтому удобно описывается ADT (или даже GADT) и обрабатывается через pattern matching.

Можно тут запостить f# релевантную вакансию?
Давай. И @microsoftstackjobs еще можно. :)

Alexey
24.05.2018
11:24:48
Вакансия Junior Программист C#/F# в Москве https://hh.ru/vacancy/25993694

До 140к после вычета :D

И не только джуны нужны

На F# у нас не всё, лишь часть, 10%

Но проекты всё свежие и развивающиеся

Roman
24.05.2018
11:26:17
Круто

Igor
24.05.2018
11:27:07
Ну такое, F# там в только в "приветствуется" (а в итоге требуется c#)

Alexey
24.05.2018
11:27:08
Вот тут подробнее я как-то составлял чем занимаемся, чем на сайте написано

Roman
24.05.2018
11:27:31
Ну такое, F# там в только в "приветствуется" (а в итоге требуется c#)
Так это в общем-то везде. Чистых F# не будет пока.

Alexey
24.05.2018
11:27:45
Ну пересадить на f# у меня не удалось всех

Но часть проектов на нём согласованно написано

Но и тот же c# у нас фп-ориентированный

Там где это нужно)

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