@Fsharp_chat

Страница 580 из 772
Alexey
24.05.2018
11:31:38
Есть эмуляция DU и рекордов через T4!

Vasily
24.05.2018
11:31:55
Так это в общем-то везде. Чистых F# не будет пока.
Пытаюсь написать банковский терминал на чистом f#, кстати

Andrew
24.05.2018
11:31:58
А вот это уже немного наркомания :)

Vasily
24.05.2018
11:32:45
Google
Alexey
24.05.2018
11:33:15
Вполне норм, легко интегрируется в обычный процесс разработки на c#

Не рефакторится автоматом только

T4 в vs же написал и при сохранении он перегенерируется

Alexey
24.05.2018
11:34:27
Ну не встречал проблем пока

Roman
24.05.2018
12:10:34
Andrew
24.05.2018
12:36:04
https://oleksandrmanzyuk.wordpress.com/2014/06/18/from-object-algebras-to-finally-tagless-interpreters-2/
Спасибо, теперь знаю как это называется

Но по-моему очевидно, что ООП-подход тут гораздо изящнее

Нод может быть под сотню, а операций с ними - штук 5-7

Т.е. если суммарно у нас 10к строк кода, то 100 файлов по 100 строк явно лучше чем 5 по 2000

Evgeniy
24.05.2018
12:37:48
Сколько типов нод в LINQ expression trees?

Andrew
24.05.2018
12:39:33
Судя по MSDN, 38 штук

Google
Andrew
24.05.2018
12:42:06
У меня в реализации языка их 89 (правда с учетом базовых типов)

А операций всего 5: Resolve, Emit, Expand, GetChildren, ProcessClosures

Evgeniy
24.05.2018
13:03:02
У меня в реализации языка их 89 (правда с учетом базовых типов)
Да, пожалуй, в этой ситуации с объектами повеселее. С другой стороны, это может быть признаком неоптимально смоделированого домена. Способ борьбы с "длинным match на 2к строк" известный: АТД не обязан быть "плоской" суммой, мы можем комбинировать суммы и произведения различными способами, разбивая домен на поддомены. Например, tast.fs в компиляторе F# -- это набор из кучи мелких типов.

Паттерн матчингом можно изящно производить деконструкцию сложных значений. Особенно приятно, можно матчить по частям синтаксического дерева, а не только по отдельным узлам -- может быть удобно, например, для constant folding.

Ivan
24.05.2018
18:22:49
@gsomix Как там дела с пониманием extensions в inline? Я что то не смог отследить

Ivan
24.05.2018
18:24:21
По времни пока не ясно?

Evgeniy
24.05.2018
18:24:52
Anton
24.05.2018
18:58:28
ещё и ML

Почти работа мечты =)

Ivan
24.05.2018
18:59:46
Jun.. Ну пусть middle.. Куда architect'u деваться ?

Alex
24.05.2018
19:03:17
Почти работа мечты =)
оффтоп, но график, дресс код, внутренние регламенты

но в целом вакансии хорошие

имхо

Ivan
24.05.2018
19:03:43
И кроме F# - все не на коре.

Anton
24.05.2018
19:03:55
очень круто

У нас в Минске такого нет =(

Ivan
24.05.2018
19:04:52
У нас в Москве то же.

Google
Alexey
24.05.2018
19:06:55
оффтоп, но график, дресс код, внутренние регламенты
Ну я после стартап атмосферы быстро втянулся

Ivan
24.05.2018
19:07:13
Функциональщики никому пока не нужны. Но я верю ?. Год ну два. Уж больно вкусные преимущества для CI/CD. Уж больно легко сопровождать. Пока схема напоминает мне C# в 2002. Почти нет работы но всем интересно.

Klei
24.05.2018
19:08:32
У нас в Москве то же.
Вы вроде бы хотели создать F#-only (или просто ориентированную на F#) команду. Что-нибудь получилось?

Alexey
24.05.2018
19:08:32
Хорошее место чтобы раскачаться и проявить себя

Alex
24.05.2018
19:09:27
сейчас ФП наконец набирает популярность в США до этого только академические круги Европы

так что у нас года через 3-4 будет мейнстрим

Ivan
24.05.2018
19:09:48
Бизнес не очень то готов к рискам. Мягко говоря. А работать бесплатно, что то, я смотрю, топы готовы только на опенсоурсе.

А без топов поднять можно только ну очень заинтересованную молодежь. Кадров нет - есть риск. И пока преимуществами не перекрываемый.

Alexey
24.05.2018
19:12:17
Jun.. Ну пусть middle.. Куда architect'u деваться ?
Архитекты тоже сейчас нужны будут (занимался этим в основном я, но ухожу ), но по зп - 160 потолок наверн

Ivan
24.05.2018
19:15:08
Это не уровень к сожалению для Москвы. Вот в этом наверное и главная проблема. Я на C# и go получать буду больше. Хотя хочу F#, Rust, Elixir, Haskell. Но там еще учить элементарно с 0 - уровня. И зарплата меньше. И семья однако.

Alex
24.05.2018
19:38:00
.NET Core 2.1.0 (along with http://ASP.NET Core and Entity Framework Core) will be released around May 30th, but you can download it already here ? https://github.com/aspnet/Home/wiki/2.1.0-Early-Access-Downloads thanks @DamianEdwards and @tech_fellow for the link

Jey
24.05.2018
19:38:57
У нас-то в скале система типов мощная-мощная. Щас вот еще синтаксис PDT переделаем

и машинерию подкрутим

макросистему новую навернем

кайнд прожектор интегрируем

Ivan
24.05.2018
19:40:19
Угу и наконец, компилер внятный зарелизим ?

Jey
24.05.2018
19:40:36
у нас она не мощная, у нас она практическая

но тошнотная и дырявая

ах да, еще от blah-blah, ваш энивал в джаву не лезет избавимся

Google
Ivan
24.05.2018
19:41:39
Лет 5 как Dotty никак не сделают

Jey
24.05.2018
19:42:02
и хит сезона

Научимся двунаправленному инферингу

и еще три года ждем )

хотя вот инферинг в дотти чинить-то вроде и не собираются, а так да, большинство уродств пофиксят (вроде)

Ivan
24.05.2018
19:43:24
Пока в java mashine не появятся стекабле типы - она будет в отстающих, как не крути. Но дотнет не лучше со своей параноидально ООП.

Jey
24.05.2018
19:45:14
> mashine

Пытаюсь себе представить

potato mashine

Ivan
24.05.2018
19:45:42
ну я немец ?

Jey
24.05.2018
19:46:00
мне, мгм

немножко интересно, зачем типы на уровне машины-то

их наоборот оттуда гнать надо ссаными тряпками

и отвязывать жвм от специфики джавы и вообще языков сверху

Ivan
24.05.2018
19:47:44
Посмотри, что сейчас сделали в .net со stack based types. В java это в принципе не возможно. Нет там этого на уровне как раз машины.

Int -int дуализм - это как раз из-за ограничений машины.

Jey
24.05.2018
19:49:44
Да, в ту сторону

Ivan
24.05.2018
19:49:56
.net runtime то же к c# сильно привязан

Google
Jey
24.05.2018
19:50:12
валью типы надо, вот это надо-надо

Ivan
24.05.2018
19:51:02
Ну вопрос терминологии.. Валью - стек бейзед ?

А еще нужен прямой способ управления динамической типизацией. На уровне машины. Тогда вопросы трейтов, интерфейсов, классов, всего этого отпадут сами. Отдадутся на уровень компилятора.

Evgeniy
25.05.2018
07:53:52
Доброе утро.

Did you know that the #fsharp community has an official mentorship program? 100% free, community-driven, and has led to people being able to adopt F# in their workplace. CHECK IT OUT! https://fsharp.org/mentorship/about.html

Anton
25.05.2018
08:18:22
воу

Vasily
25.05.2018
10:10:35
Кстати, начинаю понимать, почему в f# не нужен. DI

Vasily
25.05.2018
10:18:20
Продолжаю

В целом,di заменяется последовательностью объявления модулей

По факту, даже не надо в параметрах функций ничего передавать

Мокать можно объявлением соответствующих модулей в тестах

Хотя это в теории

A64m
25.05.2018
10:20:51
не понятно все равно. т.е. я понимаю, как DI заменяется параметризованными модулями, но их в f# нет

Vasily
25.05.2018
10:21:35
Ну по факту я пишу со статическими ссылками,получается

Evgeniy
25.05.2018
10:22:30
Ты глобальный скоуп засоряешь своими зависимостями?

Vasily
25.05.2018
10:23:06
Evgeniy
25.05.2018
10:23:28
Давай пример кода.

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