@Fsharp_chat

Страница 481 из 772
Andrew
21.02.2018
10:37:28
хотя не, не сходится

ты прав, похоже на семантику ref\val

но нафига делать ref 1?

это такой адовый боксинг?

Google
Vlad
21.02.2018
10:40:03
рассуждать про этот язык не даёт навязчивая мысль "зачем они его сделали?" :) на вид наверное хотели эмбеддить куда-то, но чего было не взять уже существующее нипанять :(

Vasily
21.02.2018
10:41:04
это такой адовый боксинг?
Ну типа выдели на стеке единичку, забокси и верни как ссылку

Artemy
21.02.2018
10:41:40
Про использование if ... else if.. вместо swtich ... case... , а также использование binarytree вместо Hash можно мемасик про сверхразум запилить.)

Artemy
21.02.2018
10:46:44
Ну тут же if/else if как преимущество над switch...case... показывается

Vlad
21.02.2018
10:46:52
А что не так с if/else?
непосредственно с ними всё так, а вот то что они предлагают switch заменить на if/else уже как-то не очень

Artemy
21.02.2018
10:46:54
Обычно именно превосходство в сравнениях языков подразмуевается. Мол, самые классные фичи демонстрируются.

Andrew
21.02.2018
10:47:50
Имхо это не преимущество, а просто пример того, как аналогичное сделать на их языке

непосредственно с ними всё так, а вот то что они предлагают switch заменить на if/else уже как-то не очень
Вот я про это и спрашиваю: нужно ли в языке иметь конструкцию switch, если генерируемый им и if/else код одинаков?

Vasily
21.02.2018
10:48:56
Для поддержки switch/case удобнее по идее

Чисто визуально, хоть и синтаксический сахар

Vlad
21.02.2018
10:50:50
просто язык то преподносится как функциональный и как-то наивно ожидается что в качестве замены тривиальному switch нам сразу предложат что-то помощнее а не пачку if-ов

Google
Artemy
21.02.2018
10:52:16
Имхо это не преимущество, а просто пример того, как аналогичное сделать на их языке
Ну так-то избыточно. Любой, кто понимает JS и так в курсе, что switch...case... легко переписывается в виде if...else... Так что здесь это выглядит как негативная реклама языка.

Vasily
21.02.2018
10:52:17
Скажу больше

Скорее всего это даже не их язык

А Area9

Кстати, на фото гендерно-расовый шовинизм

Vlad
21.02.2018
10:53:29
> и конечно же Flow (функциональный язык разработанный в недрах компаний Area9 и Ланит-Терком).

Aleksander
21.02.2018
10:54:23
Да, скорее всего, Area9 лет 30 назад свой язык запилили, написали на нем пару сотен миллионов строк, и теперь кому-то это надо поддерживать)

Vasily
21.02.2018
10:54:41
http://www.math.spbu.ru/user/ant/all_articles/065_Terekhov_Erlikh_preodolenie_razryva.pdf

Похоже, статья одного из авторов языка

Проблема переводных изданий, она такая, конечно

Насущная была в 70-80х годах

https://haxe.io/wwx/2016/Maxim-Bekhterev/

Вроде оно

Короче, нашлепка над Haxe

В целом похоже на тупик для программистов

Andrew
21.02.2018
11:06:08
Вообще для обсуждения дизайна языков есть отдельный чатик ;)

Vasily
21.02.2018
11:06:25
Я про него ничего не знаю

Но в целом заканчиваем с офтопом, да

Google
Andrew
21.02.2018
11:06:34
@CompilerDev

В основном там все те же лица :)

Vlad
21.02.2018
11:17:15
Вообще для обсуждения дизайна языков есть отдельный чатик ;)
он настолько живой, что удивительно (хоть я там и не понимаю 99% происходящего)

A64m
21.02.2018
11:52:19
его просто в идрисном чате недавно прорекламировали

Kirill
21.02.2018
12:19:37
Andrew
21.02.2018
12:20:27
Выглядит как чат любителей стикеров
Ты в неудачное время зашел :)

Igor
21.02.2018
13:09:02
его просто в идрисном чате недавно прорекламировали
Идрис-чат это который "зависимые типы в массы"?

A64m
21.02.2018
13:09:22
да

Roman
21.02.2018
13:31:03
https://github.com/fsharplang-ru/general/issues/3 Обсуждали?

Evgeniy
21.02.2018
13:33:41
https://github.com/fsharplang-ru/general/issues/3 Обсуждали?
Я еще не успел внимательно прочитать.

Сергей
21.02.2018
13:42:57
Vasily
21.02.2018
14:01:52
Какой интересный пример кода : // Transaction list -> Expense list 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 Money = Money of decimal with // Money * Money -> Money static member (+) (Money m1, Money m2) = Money (m1 + m2) static member Zero = Money 0m

Вот это конечно очень круто

Взято отсюда: https://www.demystifyfp.com/fsharp/blog/adding-meaning-to-primitive-types-in-fsharp/

Evgeniy
21.02.2018
14:35:56
Еще можно повесить на Money аннотацию [<Struct>], тогда будет бесплатная абстракция.

Roman
21.02.2018
15:51:02
Еще можно повесить на Money аннотацию [<Struct>], тогда будет бесплатная абстракция.
после этого задумался, как это будет реализовано для DU с несколькими кейсами, поскольку наследование для структур неприменимо. В итоге создается 1 структура с полем под каждый кейс и доп. пропертями, только ошибку непонятную выдает, даже ишуй есть https://github.com/Microsoft/visualfsharp/issues/3648#issuecomment-332110419

Google
Evgeniy
21.02.2018
16:27:42
Поясни
DU компилируются в классы, ссылочные типы, они аллоцируются в куче. Если повесить аннотацию [<Struct>], то DU скомпилируется в структуру, value type — аллоцируются на стеке и имеют семантику значений. В случае single case DU аннотация [<Struct>] позволяет избавиться от какого-либо оверхеда, связанного с аллокацией в куче и сборкой мусора.

Admin


Andrew
21.02.2018
16:27:54
Поясни
Пояснишь за бесплатные абстракции? :)

Evgeniy
21.02.2018
17:14:06
Не задумываешься, у тебя как decimal хранится, так и Money.

Klei
21.02.2018
19:05:45
Вот я про это и спрашиваю: нужно ли в языке иметь конструкцию switch, если генерируемый им и if/else код одинаков?
Чисто ради расширения кругозора, До добавления недопаттернматчинга в C#, switch в ряде случаев работал на словаре.

Most
21.02.2018
19:47:38
кому-нибудь не core\standard приложения приходилось в райдере открывать?

Evgeniy
21.02.2018
20:07:07
https://twitter.com/panesofglass/status/966363627363160071

Most
21.02.2018
20:08:25
попытался cloudAgent открыть у меня чего-то райдер не подхватил полный фреймворк, думал может у меня траблы) ладно, спасибо, буду разбираться

Roman
21.02.2018
23:12:34
Не задумываешься, у тебя как decimal хранится, так и Money.
Бесплатная по затратам. Я понял, изначально подумал что есть неучтеная выгода

Evgeniy
22.02.2018
06:41:00
Какие чудесные примеры! https://github.com/eiriktsarpalis/TypeShape/blob/master/samples/hashcode-staged.fsx

Привет.

Никита
22.02.2018
10:29:58
Привет)

Friedrich
22.02.2018
13:32:03
кому-нибудь не core\standard приложения приходилось в райдере открывать?
Постоянно открываю (C# и F#), всё время всё работает.

Evgeniy
22.02.2018
13:38:03
Ух. https://github.com/fsharp/fslang-suggestions/issues/647

Ну, это просто абстрактные хотелки, есть штука поважнее. https://github.com/Microsoft/visualfsharp/pull/4368

Google
Roman
22.02.2018
13:59:10
Ух. https://github.com/fsharp/fslang-suggestions/issues/647
круто, что сам Сайм это предложил. Давно пора

Evgeniy
22.02.2018
13:59:28
круто, что сам Сайм это предложил. Давно пора
Ага. Правда, это не значит, что он будет пилить.

Roman
22.02.2018
14:01:19
Ага. Правда, это не значит, что он будет пилить.
зато значит что не будет против)

Привет!

aman
22.02.2018
14:04:16
привет всем

Roman
22.02.2018
14:05:04
Как у тебя с F#?)

aman
22.02.2018
14:05:49
изучаю

Roman
22.02.2018
14:05:57
Круто)

aman
22.02.2018
14:34:33
я аман из индия

Evgeniy
22.02.2018
14:35:48
Hi!

aman
22.02.2018
14:36:56
?

Friedrich
22.02.2018
14:56:38
я аман из индия
The right would be "Аман из Индии", learn the cases. You should've used the genitive (I think they call it such?) here.

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