
Klei
29.08.2017
13:45:11

Artemy
29.08.2017
13:45:11
Я в лс книжки кину

Anton
29.08.2017
13:45:18
@Dolfik хм, но мы в контексте F#

Nikolay
29.08.2017
13:45:19

Google

Evgeniy
29.08.2017
13:48:19
Есть тематический чат по математике: @comput_math

Anton
29.08.2017
13:49:16
@gsomix хм, а там можно про математику в контексте программирования говорить?

Evgeniy
29.08.2017
13:49:33

Anton
29.08.2017
13:50:16
аригато за чатик

Artemy
29.08.2017
13:50:27
В Слэке, конечно, удобнее: множество чатов в одной группе.

Evgeniy
29.08.2017
13:54:11
Artemy @Kleidemos Вас тоже приглашаю. :)

Roman
29.08.2017
14:35:01

Pavel
29.08.2017
15:37:51
http://fssnip.net/7Tz полезный снипет :)

Летучая
29.08.2017
18:34:39
А что, в студии 17.3 не только неткор не впилили, так ещё и совсем F# выпилили, что ли?
подсветки синтаксиса нет
мб кто знает, что там погромисты тулинга опять мудрят

Artemy
29.08.2017
18:36:11
Ну в версии 15.3.1 у меня всё работает
В т.ч. WPF + F#

Google

Artemy
29.08.2017
18:36:59
А VF# Nightly подключено?
А то у меня с Nightly

Летучая
29.08.2017
18:37:46
так-то "поддержка F#" раньше и была найтли
чот вчера аж на 2 машинах (из двух) студия после апдейта сломалась

Klei
29.08.2017
18:40:18
У меня студия перестает подсвечивать синтаксис, когда первый раз сохраняю скрипт вне проекта. Приходится его закрывать и открывать. Видимо из той же оперы.

Летучая
29.08.2017
18:40:32

Artemy
29.08.2017
18:40:53
А, да. У меня тоже бывало, подсветка ломалась. Решалось презапуском студии.
По-моему, эта фигня случалась иногда после переключения между Folder View и Solution View

Klei
29.08.2017
18:41:32
Я имею ввиду, что перезагрузка скрипта помогала, попробуй перезагрузить решение.

Летучая
29.08.2017
18:48:45
не помогло
решил установкой райдера

Диёр
29.08.2017
18:49:45
Гайс, а я где-то видел как над функцией писали [<Pure>], но у меня райдер жаловался
Что-нибудь меняется если над функцией написать что она чистая?

Klei
29.08.2017
18:54:40
На счет райдера не знаю, возможно он умеет отсекать явно нечистые функции.

Roman
29.08.2017
20:21:59
Привет!

Wladyslaw
29.08.2017
20:23:29
Здраствуй)

Pavel
30.08.2017
06:16:45
привет

Evgeniy
30.08.2017
09:24:06
Привет!

Vasily
30.08.2017
09:37:00
https://finai.com/en/newsroom/there-is-no-such-thing-as-a-free-free-monad/

Google

Vasily
30.08.2017
09:37:08
Любопытная статья

Anton
30.08.2017
09:56:19
или я дурак?
Чо ему не нравится в общем то? Вроде код валидный же.

Murato
30.08.2017
09:58:20
Привет

Anton
30.08.2017
09:58:56
@fvnever @gsomix объясните, тут или я дурак, или компилятор упрлс ?

Friedrich
30.08.2017
09:59:31
Ну а что такое Table? Наверное, нету такой перегрузки

Anton
30.08.2017
09:59:59
@fvnever если нету, то оно бы ругалось на этапе написания прямо в редакторе, не?
вот я если там выбираю что-то не подходящее, оно меня ругает

Friedrich
30.08.2017
10:00:17
Ничего не знаю про редактор. Я вижу, что ругается компилятор.

Anton
30.08.2017
10:00:47
хм
напрягает, что декомпилятор встроенный в Rider отбражает cs код =)
хотя либа написана на fs =)

Artemy
30.08.2017
10:11:35
Так декомпиляция — это чтение IL кода.

Anton
30.08.2017
10:12:17
@fvnever а как пройтись по Seq.groupBy коллекции ? Оно возвращает талпу string*Seq
я к примеру хочу пройтись по ключам

Friedrich
30.08.2017
10:12:41

Anton
30.08.2017
10:12:50
нууу, я не знаю, как подойти к талпе

Friedrich
30.08.2017
10:13:22
Ну, попробуй так:
xxx
|> Seq.groupBy yyy
|> Seq.map fst
|> Seq.iter printf "%A"
fst извлекает первый элемент из туплей (ключ), дальше делай с ним что хочешь.

Anton
30.08.2017
10:15:18
а можно как-то более привычно?

Google

Anton
30.08.2017
10:15:24
нууу, мол через точку

Friedrich
30.08.2017
10:16:26
НѢТ!

Anton
30.08.2017
10:16:52
и да, а как это ты так хитро группанул?
я к примеру пишу функцию для этого

Friedrich
30.08.2017
10:17:28
Я никак не группанул. Я решил, что ты и так знаешь, что тебе надо группировать, и написал там просто "yyy" :)

Anton
30.08.2017
10:17:29
table.Rows |> Seq.groupBy (fun r -> r.Country)
я к тому, а могу я как-то опустить этот fun ?

Friedrich
30.08.2017
10:17:54
Ну а вот в моём примере выше была бы
let yyy r = r.Country

Anton
30.08.2017
10:18:00
freepoint или как оно там называется

Friedrich
30.08.2017
10:18:03
(ну, с аннотацией типов, если надо)

Artemy
30.08.2017
10:18:15
Посмотри в информации об ошибке, какие перегрузки для Chart.Table оно видит.

Anton
30.08.2017
10:18:48

Artemy
30.08.2017
10:19:05
Иногда бывает, что компилятор просто не может понять, какую перегрузку ему выбрать.
И помогает явное указание типов.

Anton
30.08.2017
10:19:25
хм

Artemy
30.08.2017
10:20:29
А там в сигнатуре опциональные параметры есть.
Я помню, что встречал сам похожие ошибки, но не могу точно вспомнить сейчас, как оно там было.

Friedrich
30.08.2017
10:24:29
Я такие ошибки встречал, когда пытался юзать перегруженный метод. F# не всегда умеет нормально делать method group conversion (наверное, при этом вывод типов бы сильно затормозился, не уверен).

Artemy
30.08.2017
10:24:45
А Seq.groupBy возвращает seq<('k * ('v seq)) seq> или seq<('k * 'v) seq>?

Friedrich
30.08.2017
10:25:53

Google

Artemy
30.08.2017
10:26:39
Seq.groupBy<'T, 'Key> : projection:('T -> 'Key) -> source:seq<'T> -> seq<'Key * seq<'T>>
Table(data, Labels, Options)
Signature: (data:seq<'?7835> * Labels:seq<string> option * Options:Options option) -> GoogleChart
Type parameters: '?7835, 'K, 'V
Table(data, Labels, Options)
Signature: (data:seq<'?7832 * '?7833> * Labels:seq<string> option * Options:Options option) -> GoogleChart
Type parameters: '?7832, '?7833
Как видишь, нету перегрузки, принимающей seq<'Key * seq<'T>>
Преобразуй в коллекцию пар

Anton
30.08.2017
10:29:11
Очень странно себя ведёт в таком случае редактор кода
он должен ругаться.
мол "нету типа с такими аргмументами"
а оно молчком пропускает

Artemy
30.08.2017
10:30:24
Ну так-то да. Но поддержка F# в Rider ещё не допилена же.
Хотя, там, наверное, те же средства, что и в VS, используются.

Anton
30.08.2017
10:31:15
ага
запустил VSCode
там ругается =)

Artemy
30.08.2017
10:31:31
А, ну вот
Значит, они в Rider по-своему сделали.

Anton
30.08.2017
10:32:33
всё же да, каким бы не был удобным и быстрым Rider - писать кодец на F# лучше пока в VSCode

Artemy
30.08.2017
10:32:51
Вообще, следует верить комплиятору всегда. Он лучше знает, чем проверялка уровня редактора. :)