
Диёр
18.02.2018
17:17:06

Fill
18.02.2018
17:18:06

Bonart
18.02.2018
17:36:25

Roman
18.02.2018
18:27:58
Привет!

Google

Roman
18.02.2018
22:14:02
Тут есть ф-ция getExpences
Она явно работает с одним из подтипов(?) Debit. Почему мы не можем явно параметризовать таким подтипом ф-цию? Или можем, а я не знаю как?)
Adding Meaning to Primitive Types in fsharp | Demystify FP
https://www.demystifyfp.com/fsharp/blog/adding-meaning-to-primitive-types-in-fsharp/
let rec getExpenses transactions = getExpenses' transactions []
and getExpenses' transactions expenses =
match transactions with
| [] -> expenses
| x :: xs ->
match x with
| Debit expense -> getExpenses' xs (expense :: expenses)
| _ -> getExpenses' xs expenses
type Transaction = | Credit of Income | Debit of Expense
let rec getSmth transactions type = getSmth' transactions []
and getSmth' transactions expenses type =
match transactions with
| [] -> expenses
| x :: xs ->
match x with
| type expense -> getSmth' xs (expense :: expenses)
| _ -> getSmth' xs expenses
Как-то так и типизированно
let debits = getSmth transactions Transaction.Debit


Aleksander
18.02.2018
22:40:30

Roman
19.02.2018
05:27:30

Vasily
19.02.2018
05:36:14
Можно по идее на генерик констрейнтах попробовать

Kirill
19.02.2018
05:38:59

Bonart
19.02.2018
05:46:53
нет, там отдельный пакет, более дорогой с ним
Да ладно? https://www.jetbrains.com/store/?fromMenu#edition=commercial
R# - 299, Rider - 349, R# Ultimate + Rider - 449.
https://www.jetbrains.com/store/?fromMenu#edition=personal
129-139-179.
R# Utimate отдельно нет. Т.е. хочешь с dotMemory и dotProfile - райдер будет в комплекте.
Это позволяет с одной стороны выставить на райдер формально высокую цену а с другой - реально прожавать куда дешевле.
Вру, отдельно R# Ultimate взять можно. За 149. Таким образом райдер для индивидуального разработчика обойдется в 30 баксов, а корпоративная версия - в 50

Kirill
19.02.2018
05:50:44
цены на коммерческую

Google

Kirill
19.02.2018
05:53:31
Я покупаю R# года с тринадцатого, Ultimate у меня с самого начала, как появился, и мне никто Райдер не предлагает

Bonart
19.02.2018
06:22:52
50 баксов аднака, я уже исправил

Roman
19.02.2018
07:10:50
Там Кшиштов задал вопрос https://twitter.com/k_cieslak/status/965302450856095745 и я понял что еще мы как сообщество упустили.
Нам нужны хорошие примеры использования f# бизнесом. И статьи на тему почему бизнесу стоит посмотреть на f#

Vasily
19.02.2018
07:21:42
На самом деле, для использования в том же тырпрайзе основных препятствий два:
1. Отсутствие Code style
2. Слабый тулчейн плюс интеллисенс. Ну и иногда тяжело понять, что не нравится компилятору

Kirill
19.02.2018
07:28:10
3. Перетаскивание всех удачных идей в C#

Vasily
19.02.2018
07:29:10
Ну это-то понятно, почему

Igor
19.02.2018
07:31:25

Vasily
19.02.2018
07:32:03
Ну и еще одно - отсутствие внятных гайдлайнов по написанию больших проектов
Для ООП есть SOLID плюс куча паттернов

Daniel
19.02.2018
07:32:50

Vasily
19.02.2018
07:32:54
Для фп есть функциональные структуры данных и в общем-то все

Igor
19.02.2018
07:33:55

Vasily
19.02.2018
07:35:00
Я немного про другое
ИМХО, разработка на f# том же предполагает в основном проектирование DSL
И дальнейшие операции в рамках этого DSL

Kirill
19.02.2018
07:35:58

Vasily
19.02.2018
07:36:01
В ООП как-то больше принят DDD

Bonart
19.02.2018
07:36:59

Google

Aleksander
19.02.2018
07:37:02

Bonart
19.02.2018
07:37:33

Siarhei
19.02.2018
07:38:43

Vasily
19.02.2018
07:39:35

Igor
19.02.2018
07:39:41

Vasily
19.02.2018
07:39:54
DSL - тоже то, о чем все говорят, но никто не умеет

Kirill
19.02.2018
07:40:32

Siarhei
19.02.2018
07:40:42
а я этого не говорил)

Bonart
19.02.2018
07:41:57
> Ржать то можно долго, факт остается фактом
Какой факт? Не вижу ни как описана грамматика, ни какого года плюсы, вообще картинка вместо пруфа

Igor
19.02.2018
07:43:00

Kirill
19.02.2018
07:44:04
а что значит "size in lines" в этом контексте?

Igor
19.02.2018
07:44:46
size in lines и означает ?♀️

Bonart
19.02.2018
07:45:30
Собственно маленький размер грамматики у скалы намекает

Igor
19.02.2018
07:47:02
У хаскеля еще меньше, это у диссонанс вызывает?

Bonart
19.02.2018
07:47:56
Про хаскель - не вызывает.

Vasily
19.02.2018
07:48:52
интересно на размер грамматики лиспа глянуть

Bonart
19.02.2018
07:48:55
Хотя опять-таки смотря какой хаскель, стандарт или конкретная версия GHC

Google

Aleksander
19.02.2018
07:48:56
https://github.com/antlr/grammars-v4
Скала и правда маленькая, C# с лексером и парсером и правда больше чем CPP
ну нет, не больше, но сравнимо

Kirill
19.02.2018
07:50:42
т.е. это не про конечную грамматику, а про правила?

Aleksander
19.02.2018
07:51:27
Но в C# лексере 1к строк это юникод

Kirill
19.02.2018
07:52:43
по количеству конструкций ещё часто сравнивают, что меня и смутило вначале

Siarhei
19.02.2018
07:53:15
что-то не все языки есть в этой репе

Bonart
19.02.2018
07:56:49
Шарп там шестой, скала хз какая и репа годичной давности
И примеров для скалы аж один хелловорлд

Siarhei
19.02.2018
07:58:04
vhdl 1713 Lins
nice
граматика урла и имейла - Это хорошо, это прям валидатор можно написать юзая antlr (если уже кто-то не сделал) :D

Aleksander
19.02.2018
08:01:00
Для себя я сделал выводы что cpp по прежнему самый сложный (не думаю что за год сложность языков увеличилась в разы), а грамматика для linq в C# занимает аж 40 строк (https://github.com/antlr/grammars-v4/blob/08e26b796df36f50629faea4c95042d08061fc0a/csharp/CSharpParser.g4#L301)
Свои выводы делайте сами)

Anna
19.02.2018
08:01:07
Смотрю на заголовок чатика и недоумеваю ? Но за ссылку спасибо!

Roman
19.02.2018
08:46:46

Dmitry
19.02.2018
08:50:53

Vasily
19.02.2018
08:51:11
Она ж за денежку

Dmitry
19.02.2018
08:51:28

Google

Vasily
19.02.2018
08:51:57
Хммм
Надо подумать о покупке тогда

Dmitry
19.02.2018
08:54:10

Tony
19.02.2018
08:54:39

Vasily
19.02.2018
08:56:36
Влашин в целом крут

Igor
19.02.2018
09:00:35
Слышал, у него новый доклад был про “композицию” или это из старого?

Vasily
19.02.2018
09:00:50
Ну это из старого, но доклад новый
Там про рельсы

Igor
19.02.2018
09:03:54
А rail-way-programming я видел, думал что-то новенькое

Roman
19.02.2018
09:10:09
Релиз первой беты кросс-платформенного XAML UI-тулкита Avalonia / Хабрахабр
https://habrahabr.ru/post/349394/
Раньше окно полностью перерисовывалось при каждом изменении. Этот подход прост и надежен, но крайне неэффективен. Вместо него был реализованDeferredRenderer, который преобразует вызовы нашего API отрисовки в граф сцены окна. Отдельный поток ищет в графе измененные участки и перерисовывает только их. Помимо снятия нагрузки с UI-потока это позволяет добавлять оптимизации, выделяя части окна в кешируемые слои.
Виртуал дом в xaml)

Tony
19.02.2018
09:18:17

Vasily
19.02.2018
09:18:33
Ну типа кроссплатформенный UI

Roman
19.02.2018
09:19:44

Kirill
19.02.2018
09:21:09
готовил в боевом проекте DDD на C#
если есть вопросы, задавайте :)

Igor
19.02.2018
09:21:26

Vasily
19.02.2018
09:21:26
И какого размера боевой проект?

Kirill
19.02.2018
09:22:13

Диёр
19.02.2018
09:22:52