@Fsharp_chat

Страница 81 из 772
Igor
27.04.2017
14:11:43
Почему все молчат?

@JetBrainsRider with F# support is out, grab it here https://t.co/CWqLWCuC32 https://twitter.com/kot_2010/status/857591153935470593

Roman
27.04.2017
14:12:15
Почему все молчат?
Просто нет слов

Igor
27.04.2017
14:13:12
Что бы не мучиться с закачки с разных урлов, советую поставить https://www.jetbrains.com/toolbox/app/ , с ним просто обновляешь через кнопку Новость: https://blog.jetbrains.com/dotnet/2017/04/27/rider-eap-21-f-support-bundled-tfs-plugin/ Сейчас посмотрим, какие там рефакторинги завезли ?

Google
Alexander
27.04.2017
14:21:05
Прочитал до конца и увидел что уже был правильный ответ)

Igor
27.04.2017
14:21:40
Что бы не мучиться с закачки с разных урлов, советую поставить https://www.jetbrains.com/toolbox/app/ , с ним просто обновляешь через кнопку Новость: https://blog.jetbrains.com/dotnet/2017/04/27/rider-eap-21-f-support-bundled-tfs-plugin/ Сейчас посмотрим, какие там рефакторинги завезли ?
Вообще ни одни рефакторинг не работает (не реализовали видим еще), но работают - подсветка, подсказки/автокомплит, отображение сигнатур при наведение. Работает оно на mono, есть шаблоны на консоль и библиотеку.

Vasily
27.04.2017
15:41:09
Кто помнит, как называется функция, разбивающая последовательность на две по фильтру?

Pavel
27.04.2017
15:41:35
mapPartition

Vasily
27.04.2017
15:51:19
List.partition

Pavel
27.04.2017
15:53:26
partition - если разу Choice идёт

Летучая
27.04.2017
17:25:04
Igor
27.04.2017
17:26:57
>отлично >maven Ты что? Мавен же кусок дерьма.
Я посмотрю, как ты скажешь это в Java чате (ну лично мне он не нравиться, то он популярнее gradle/ant/sbt/bazel)

Летучая
27.04.2017
17:27:45
Там же если какой-то ссаный сервер со ссаным пакетиком протухнет, то ты проект не соберешь.

И будешь сидеть и побираться, потом в 3-ех местах хмл править, чтобы заработало.

В целом негативный опыт использования оного у меня

Google
Летучая
27.04.2017
17:28:43
Java+maven для школьников

Roman
27.04.2017
17:29:24
Igor
27.04.2017
17:29:51
sbt?)
в чем вопрос?

Roman
27.04.2017
17:30:15
ок, какую альтернативу предлагает @Worldbeater ?)

Летучая
27.04.2017
17:31:32
градл

если из жабомира

с ним всё оч проще

Roman
27.04.2017
17:32:20
F# + Paket - вот правильный ответ)

Летучая
27.04.2017
17:32:28
Двачну

Прям оч хочется под UWP его

Friedrich
27.04.2017
17:36:26
На сон грядущий побеседовал с тов. Бурбаки в чате по F#.

Igor
27.04.2017
17:36:27
Как красиво сделать main argv + async { }?

Friedrich
27.04.2017
17:36:34
Такой забавный чувак, мне нравится его никнейм :)

Roman
27.04.2017
17:36:48
Friedrich
27.04.2017
17:36:53
В Slack.

Roman
27.04.2017
17:37:04
Friedrich
27.04.2017
17:37:10
Да он чото про code contracts заикался, и я решил ему немножко материалов скинуть.

Но оказалось, что он и без меня примерно всё то же самое знает :)

Igor
27.04.2017
17:37:41
поясните
Ну let main argv = async { не компилируется

Friedrich
27.04.2017
17:37:56
Потому что main должна вернуть int.

Google
Roman
27.04.2017
17:37:56
Ну let main argv = async { не компилируется
правильно. main возвращает int

Igor
27.04.2017
17:38:09
правильно. main возвращает int
Я и спрашиваю, как их совместить

Friedrich
27.04.2017
17:38:15
А так же, как в C#.

Roman
27.04.2017
17:38:35
async {} |> Async.RUnSync.. или async.Start в зависимости от того что нужно

Friedrich
27.04.2017
17:38:43
Там ты делаешь Task.Run(...).Wait(), а у нас типа async {} |> Async.RunSynchronously

Igor
27.04.2017
17:38:58
блин, не очень красиво, ну ок

Friedrich
27.04.2017
17:39:04
Что поделать!

Roman
27.04.2017
17:39:11
Igor
27.04.2017
17:39:40
в C# так же.
Ну так я с C# и ушел, шоб красиво было

Friedrich
27.04.2017
17:39:40
CLR сама по себе не поддерживает этой фичи, и вряд ли будет. Всё, что можно навернуть поверх, будет лишь небольшим слоем синтаксического сахарку.

Pavel
27.04.2017
18:23:59
F# + Paket - вот правильный ответ)
не работает под дотнеткор

Roman
27.04.2017
18:24:17
Pavel
27.04.2017
18:24:56
У нас почему-то все аспнет кор, и сайд прожект на упорке тоже клиент хочет аспнеткор с F#

Roman
27.04.2017
18:26:20
ковыряю Giraffe кстати.

удобный, для петпрожектов отличный)

Vasily
27.04.2017
18:27:03
Я сегодня прковырял один пакет,у меня травма теперь :(

Roman
27.04.2017
18:27:34
какая?

Vasily
27.04.2017
18:27:42
Психологическая

anton
27.04.2017
18:28:00
Roman
27.04.2017
18:28:07
ты про тот где встретил С# код? ))

Google
Vasily
27.04.2017
18:28:07
Угу

Кто-то не умеет в пакеты просто

Max
27.04.2017
18:49:43
Ну так я с C# и ушел, шоб красиво было
С# это почти идеал по стилю и красоте кода, по крайней мере он это позволяет делать на каждом ходу

Vasily
27.04.2017
18:50:56
Слишком многословен

Max
27.04.2017
18:52:01
Roman
27.04.2017
19:06:10
.net много чего дал миру) RX, async await, но если подумать то C# просто в резонансе доносил до других идеи которые выкриквал маленький F#)

что-то меня понесло))

Nikolay
27.04.2017
19:14:46
Щас под винформс делаю проект, надо было на F# писать :D

Чтобы хрен кто потом подправил

Летучая
27.04.2017
19:41:18
Писал джва года на C#, сейчас ковыряю F# (пока только в связке с WPF). После нескольких дней ковыряния, F кажется очень лаконичнее, понятнее и выразительнее. Если б была возможность пересесть с C# на F#, не задумываясь бы пересел. (а UWP так и не завезли) Нет ну если ковырять C# после Java, первый конечно покажется гораздо удобнее и мощнее. Вроде и похожи языки сильно, а вроде в Java древний мир.

Vasily
27.04.2017
19:59:48
С мое попиши на c#...начнешь на стену лезть от многословности...

Vasily
27.04.2017
20:01:19
А я с 1.0

Года с 2002 примерно

Тогда я был молод и писать на c# было уделом хипстеров

Vlad
27.04.2017
20:02:36
А как на f# правильно с бд работать? Или писать репозитории/сервисы и не париться? А то я что-то функциональну не могу себе в голову пропихнуть

Vasily
27.04.2017
20:03:06
Ну я пробую тайп провайдеры сейчас, пока норм заходит

Vlad
27.04.2017
20:04:20
Да я тут с даппером и нет утром сижу

Vasily
27.04.2017
20:04:25
В целом работа с любым источником данных заключается в создании прослойки над ним

Google
Vlad
27.04.2017
20:04:29
Нет кор*

Vasily
27.04.2017
20:04:49
Ну даппер вполне себе маппер

Vlad
27.04.2017
20:05:17
Да я просто ловлю себя на том, что f# у меня c# без скобочек, эх

anton
27.04.2017
20:05:24
А я с 1.0
обманул тебя. я когда начал, была версия 1.0 и буквально через полгода 1.1 релизнулась (декабрь 2002 я засел за дотнет) а 1.1 где-то по весне вместе со студией 2003 вышла

Vasily
27.04.2017
20:06:02
Ну понимание как писать приходит с опытом

Надо еще мыслить в других категориях

Про себя могу сказать, что f# сильно продвинул меня в написании поддерживаемого c# кода

Vlad
27.04.2017
20:08:11
Есть такое, меньше изменяемого состояния

Хоть и писал на c# полтора проекта

Vlad
27.04.2017
20:29:27
Ага

Friedrich
28.04.2017
01:20:41
А как на f# правильно с бд работать? Или писать репозитории/сервисы и не париться? А то я что-то функциональну не могу себе в голову пропихнуть
Здесь у тебя есть выбор: либо можешь использовать ORM из мира C#, либо можешь конструировать штуки на основе type providers.

Чуваки, а кто-нибудь знает, как правильно выразить static property constraint? Я сейчас попробовал вот так: > let inline maxValue () = (^t : (static member MaxValue : ^t));; stdin(4,61): error FS0010: Unexpected symbol ')' in binding И вот так компилируется, но не работает: > let inline maxValue () = (^t : (static member MaxValue : ^t) ());; val inline maxValue : unit -> ^t when ^t : (static member get_MaxValue : -> ^t) > maxValue<int>();; stdin(3,1): error FS0001: The type 'int' does not support the operator 'get_MaxValue'

@gsomix я знаю, что ты умеешь в эти штуки!

Мне начинает казаться, что на статические проперти вообще нельзя констрейнт :(

А, лол, MaxValue это не свойство, а константа :(

А вот как реализовано в FsControl, очень интересно: https://github.com/gusty/FsControl/blob/7c26f64e4519f17f276698e02973ddb4db4919dc/FsControl.Core/Numeric.fs#L444-L466

Особенно меня заинтересовала вот эта вот фишечка let inline call_2 (a:^a, b:^b) = ((^a or ^b) : (static member MinValue: _*_ -> _) b, a)

Я даже не знал, что так можно писать — (^a or ^b) : .... Поразительно.

Vlad
28.04.2017
04:43:16
Здесь у тебя есть выбор: либо можешь использовать ORM из мира C#, либо можешь конструировать штуки на основе type providers.
Да я скорее про "функциональщину". На стеке один человек советовал писать через computation expressions.

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