@Fsharp_chat

Страница 726 из 772
Vladimir
23.09.2018
12:40:06
Читаю сейчас книжку шаблоны игрового программирования ( Роберт Найстром), не могу не порекомендовать всем) такой концентрации полезной информации не видел ещё нигде

Igor
23.09.2018
14:22:59
Про F# в скала подкасте https://www.youtube.com/watch?v=gQcZ0ZexO_4

Nikolay
23.09.2018
15:48:26
Google
Nikolay
23.09.2018
15:50:58
Вообще можно к этой теме вернуться и написать, мб даже в стиле Elm, но нужен ещё такой же безумец, @fvnever @gsomix

Тайп провайдерами генерить байндинги

Vlad ?
23.09.2018
15:53:04
Avalonia. Я даже писал DSL для F#, но дальше PoC не дошло. https://github.com/Dolfik1/AvaloniaDSL/blob/master/Application.fs
Я уже решил на QT писать, раз уж WinForms нет для Linux. Он мне более родной. Но спасибо.

Vlad ?
23.09.2018
15:54:07
Windows Forms очень сильно такое себе
У меня оно по программе просто. Мне для лаб нужно.

Nikolay
23.09.2018
15:54:25
Мы иногда пилим фриланс проекты, по возможности пишем на WPF, избегая Windows Forms

У меня оно по программе просто. Мне для лаб нужно.
А, это фигня, я думаю всегда договориться можно на другую технологию, правда преподы тебе не помогут, если вопросы возникнут, но вполне себе работу примут. Но опять же заранее нужно согласовать

Ну а так вообще да, смысла писать десктопные приложения на F# начинающему сейчас не вижу, информации мало.

Nikolay
23.09.2018
19:13:25
У меня тут идея небольшая появилась, что если каждый напишет какую-нибудь небольшую библиотеку/обёртку на F#, или поконтрибьютит куда-нибудь, дабы внести такой небольшой вклад в развитие? А то все пользуются языком, а нужно ещё отдавать, устроим такой небольшой хакатон :)

Sergey
23.09.2018
19:16:18
свежая и прекрасная идея)

Klei
23.09.2018
19:16:48
свежая и прекрасная идея)
На счет "свежая" - это сарказм?

Sergey
23.09.2018
19:17:00
да, а на счет прекрасная нет

Google
Kirill
23.09.2018
19:17:06
У меня вопрос по этому поводу: можно как-нибудь сделать так, чтобы из C# необязательные параметры задавались без фшарпопшинал?

Klei
23.09.2018
19:17:59
Nikolay
23.09.2018
19:18:11
свежая и прекрасная идея)
Я имел ввиду в разрезе нашего, ру сообщества

Вроде такого ещё не было

Сергей
23.09.2018
19:18:33
Klei
23.09.2018
19:18:37
да, а на счет прекрасная нет
Были ли когда-то конкретные инициативы? Я бы посмотрел на найденные грабли.

Ну как и щас ?
Здесь все еще аморфно, но все же область чуть поуже.

Vlad
23.09.2018
19:19:55
Это = тому что в C#

Nikolay
23.09.2018
19:23:36
Блин, вспомнил что обещал написать бота на цепях Маркова и F#, и написать статью на хабр, забыл :)

Kirill
23.09.2018
19:23:38
Это понятно, но когда из шарпа это вызываешь, то оно оборачивается во что-то типа FSharpOptional<T> или типа того. Сейчас по памяти пишу

Это так себе выглядит

Kirill
23.09.2018
19:25:23
Да

А то какой смысл писать либу, если её не ото всюду можно использовать без вопросов?

Nikolay
23.09.2018
19:25:48
Да
А в обратную сторону оно работает? C# -> F#?

Kirill
23.09.2018
19:26:14
В обратную всё работает однозначно: ставишь null, и получаешь null

Nikolay
23.09.2018
19:26:25
А то какой смысл писать либу, если её не ото всюду можно использовать без вопросов?
Опциональные параметры это не функциональненько, я думаю смысла нет заморачиваться с этим, если честно

Google
Nikolay
23.09.2018
19:27:00
Как бы я написал Funogram, и не парился с поддержкой C#

Sergey
23.09.2018
19:27:07
Были ли когда-то конкретные инициативы? Я бы посмотрел на найденные грабли.
ссылки сходу не найду 1) пару лет назад был F# Hackaton перед или после F# eXchange где в кембридже народ собрался и вместе с Доном игрались с компилятором 2) Матиас делала а может еще и делает F# Breakfast где народ собирался покодить вместе - http://www.clear-lines.com/blog/post/F-Coding-Breakfasts-Lunches-lete28099s-code-together!.aspx 3) вроде Roman Provazník делаем в Чехии что-то типо F# Beer (не знаю что они там делают ? )

Nikolay
23.09.2018
19:27:10
Сделал так, чтобы удобно было F# программистам

Kirill
23.09.2018
19:28:06
У меня есть либа работы с кэшем, там есть TryGetValue, например, и out-параметры оборачиваются в эту ерунду. Поэтому я её до сих пор и не переписал на F#: внутренне было бы лучше, но снаружи — наоборот

Klei
23.09.2018
19:28:36
Опциональные параметры это не функциональненько, я думаю смысла нет заморачиваться с этим, если честно
Так речь идет про C# Api. Если ты не заметил, то довольно большое число либ имеет пространство MyUberLib.CSharp, в котором все это безобразие присутсвует.

Sergey
23.09.2018
19:30:10
Common patterns of use for the F# option type in APIs are better implemented in vanilla .NET APIs using standard .NET design techniques. Instead of returning an F# option value, consider using the bool return type plus an out parameter as in the "TryGetValue" pattern. And instead of taking F# option values as parameters, consider using method overloading or optional arguments. https://docs.microsoft.com/en-us/dotnet/fsharp/style-guide/component-design-guidelines#use-the-trygetvalue-pattern-instead-of-returning-f-option-values-and-prefer-method-overloading-to-taking-f-option-values-as-arguments

Kirill
23.09.2018
19:34:05
Опциональные параметры это не функциональненько, я думаю смысла нет заморачиваться с этим, если честно
Согласен, но мои коллеги не владеют магией функциональности и их будут смущать обёртки при работе из C#

Evgeniy
23.09.2018
19:35:13
Kirill Попробуй повесить атрибуты на параметр. [<Optional; DefaultParameterValue(...)>]

Не так давно чинили. https://github.com/fsharp/fslang-design/blob/master/FSharp-4.1/FS-1027-complete-optional-defaultparametervalue.md

Kirill
23.09.2018
19:38:36
Спасибо, попробую

Nikolay
23.09.2018
19:39:05
Спасибо, попробую
А ты это обёртку пишешь для C#, или это чисто в коде F#?

Kirill
23.09.2018
19:40:25
Сейчас у меня чистый C#, я предпринимал попытку переписать на F#, но на тот момент передумал. Попробую ещё один раз

Evgeniy
23.09.2018
19:44:39
Спасибо, попробую
Вызов из C# тоже работает.

Google
Evgeniy
23.09.2018
19:52:34
это опциональные аргументы как в C# же
Нет, здесь как раз FSharpOption и появляется.

Klei
23.09.2018
20:24:07
Есть причины по которым BDD + Expecto не заведется? Надо понять, его нет потому что не сделали или потому-что есть дефект, который мне сейчас не виден.

Klei
23.09.2018
20:27:11
Expecto это запускала тестов. А бдд или юнит тесты разве не все равно?
Там связка нужна, чтобы грамотно все это представляло при падениях. Я не сильно изучал тему BDD + F#, но по моему они все заточены под методы/функции модулей.

Roman
23.09.2018
20:28:20
Фш и в ооп может же. Хотя может я чего-то не понимаю. Мало практики в БДД

Klei
23.09.2018
20:31:59
Фш и в ооп может же. Хотя может я чего-то не понимаю. Мало практики в БДД
Так expecto не работает с методами. Там тесты объявляются в виде: вот те тест, зови так-то, засовывай то-то в таких то условиях. Без изврата с созданием методов для тестов.

Roman
23.09.2018
20:36:22
Привет!

Pavel
23.09.2018
20:37:33
Привет!
Привет-привет! был приятно удивлен найдя чат энтузиастов F#-а ?

Evgeniy
23.09.2018
20:40:42
Expecto это запускала тестов. А бдд или юнит тесты разве не все равно?
+ Наверное, ты можешь тесты TickSpec, например, запускать из expecto. Ну, как это делают из NUnit и xUnit.

Pavel
23.09.2018
20:42:03
Тут нас много! Расскажешь вкратце есть ли опыт в F#? Какой ?)
опыта работы в индустрии на F#-е нет еще к сожалению, двигаюсь по туториалу - https://docs.microsoft.com/en-us/dotnet/fsharp/tour и пока что все нравится ? Был бы благодарен за советы сообщества, с чего начать и что почитать по F# в 2018 году ?

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