@Fsharp_chat

Страница 259 из 772
Igor
12.08.2017
13:53:54
Это удобно
Где? Хотя бы пару примеров для реальных программ (разве что интероп fable с js)? В TS это нужно что бы скрестить JS и стат. типизацию, когда в JS метод реально может прийти что-го (типа строка или объект). И все равно приходится проверять тип в методе, а метод с такими типами уже не умещается на экране.

Nikolay
12.08.2017
15:54:49
Стоит ли учить чисто функциональный язык, чтобы лучше привыкнуть к функциональному стилю? Или как вообще лучше это сделать?

Google
Evgeniy
12.08.2017
16:07:50
Думаю, это полезная вещь.

Nikolay
12.08.2017
16:08:17
Практическое применение бы ему найти ещё

Nikolay
12.08.2017
16:09:04
Andrew
12.08.2017
16:09:29
Какой?
компилятор перля

Vlad
12.08.2017
16:35:47
Перлов?

Andrew
12.08.2017
16:42:44
https://en.wikipedia.org/wiki/Pugs_(programming) же ж

Nikolay
12.08.2017
18:44:18
Кто там Fable юзал?

Летучая
12.08.2017
18:45:55
@neftedollar

@angmarr

Evgeniy
12.08.2017
18:46:12
Где? Хотя бы пару примеров для реальных программ (разве что интероп fable с js)? В TS это нужно что бы скрестить JS и стат. типизацию, когда в JS метод реально может прийти что-го (типа строка или объект). И все равно приходится проверять тип в методе, а метод с такими типами уже не умещается на экране.
Хороший вопрос. :) Я подумаю над хорошим примером. Пока я думал только про читабельность. Например, у тебя кейсы DU могут иметь много полей. В этом случае напрашивается использование записей, но это лишние типы и необходимость враппинга.

Nikolay
12.08.2017
18:47:30
Меня собственно интересует документация. На сайте что-то совсем инфы мало

Igor
12.08.2017
18:48:16
Кто там Fable юзал?
Инфы мало, но есть шаблон для .net core и куча примеров на github

Google
Nikolay
12.08.2017
18:48:46
А мне нужно создать объект Image

Там вообще оооочень странными костылями сделаны игры

Evgeniy
12.08.2017
18:50:53
F# Weekly #33, 2017 - Hello WebAssembly https://sergeytihon.com/2017/08/12/f-weekly-33-2017-hello-webassembly/

Roman
12.08.2017
18:55:50
Там вообще оооочень странными костылями сделаны игры
Погугли awesome fable там есть пара примеров игр на pixi вроде и ещё на чем-то есть даже скарфолдовый проект какой-то

Evgeniy
12.08.2017
18:58:22
@neftedollar @angmarr https://dusted.codes/giraffe-goes-beta

Летучая
12.08.2017
18:58:24
Вы нипанимаити

Для игор надо свой тикер энтитей писать!

Igor
12.08.2017
19:00:59
Там вообще оооочень странными костылями сделаны игры
Игры на F#… ну не уверен ? - обычно в играх архитектура полное г### и если и есть то на ооп (с примесью процедуршены).

Летучая
12.08.2017
19:03:31
Игры на F#… ну не уверен ? - обычно в играх архитектура полное г### и если и есть то на ооп (с примесью процедуршены).
Так-то ооп туда проще всего ложится. Но было бы интересно посмотреть/написать игру на чистых функциях ?

Igor
12.08.2017
19:04:05
А мне нужно создать объект Image
А в чем проблема то? И зачем тебе ее вообще самому создавать (есть же canvas)?

Ivan
12.08.2017
19:05:04
Ну MMO сервер функционалка ложиться очень хорошо. В режиме акторов - просто идеально. Во Microsoft ради этого аж Orlean придумал

Nikolay
12.08.2017
19:05:45
Можно, кстати, взять за основу Nu, и портировать под Fable, но я уже задолбался)

Igor
12.08.2017
19:05:51
Так-то ооп туда проще всего ложится. Но было бы интересно посмотреть/написать игру на чистых функциях ?
Ну только ради интереса. Видел доклад “как написать web игру на Clojure(Script)”, первое правило - забываем по ФП, ибо оно тормозит

Ну MMO сервер функционалка ложиться очень хорошо. В режиме акторов - просто идеально. Во Microsoft ради этого аж Orlean придумал
Не уверен, там же акторы - они скорее к ооп (в стиле ерланга). Слышал даже что Orlean (это же MS) из коробки плохо совместим F# (хуже akka.net)

Летучая
12.08.2017
19:09:09
Ну только ради интереса. Видел доклад “как написать web игру на Clojure(Script)”, первое правило - забываем по ФП, ибо оно тормозит
Зависит от того, как написать и чем собирать. Веб-то сам по себе тормозит, а если написать tail rec, которая развернется в while true, то почему бы и нет (что там ещё в играх тормозить может, вызовы функций? ну это как-то несерьёно, хотя зависит от масштаба)

Ivan
12.08.2017
19:09:42
Идея акторная. Взяли и положили на кодогенерацию ООП. Эрланг - чисто функциональный язык ?

Google
Igor
12.08.2017
19:12:09
Думаю обсуждение игр и фп можно продолжить в @dotnet_chat

Roman
12.08.2017
19:20:40
На monogame я отлично создавал простые игрушки на F#. ООП и F# вполне юзабельны. По мне так Поддержка ООП в F# гораздо лучше чем в С#

Friedrich
13.08.2017
05:02:04
Пасаны, плюсоните мой репорт: https://youtrack.jetbrains.com/issue/RIDER-8607

Кроме этого бага и https://youtrack.jetbrains.com/issue/RIDER-8323, я не вижу никаких проблем Rider на своих F#-проектах. Всё компилируется, подсвечивается и вообще няшно.

Friedrich
13.08.2017
06:29:15
И с .Net Core?
Не проверял. Кажется, там всё плохо.

Evgeniy
13.08.2017
06:30:12
Да.
А в C# и обратно?

Igor
13.08.2017
06:31:44
А у вас gotodef на библиотечных классах, тоже показывает декомплированный c#? По моему это не норм.

Friedrich
13.08.2017
06:31:51
А в C# и обратно?
Из F# в C# мне не на чем попробовать. А из C# в F# работает.

Хотя нет, я передумал, это не норм.

В F#-коде не получается разобраться по декомпиленному C#. Лучше б он сигнатуры библиотек показывал, как в студии.

Дмитрий
13.08.2017
06:34:59
Посоветуйте чего на русском про F# почитать, желательно чтоб на дотнет кор завелось

Evgeniy
13.08.2017
06:42:19
Посоветуйте чего на русском про F# почитать, желательно чтоб на дотнет кор завелось
К сожалению, на русском очень мало материалов. Но можно для начала почитать наш перевод, чтобы понять, о чем все это. https://github.com/fsharplang-ru/translations/blob/master/Get%20Started%20with%20F%23%20as%20a%20C%23%20developer.md

Посоветуйте чего на русском про F# почитать, желательно чтоб на дотнет кор завелось
Ну, и для работы с F# и .Net Core рекомендую использовать VSCode + плагин Ionide.

Дмитрий
13.08.2017
06:45:16
Ок, спасибо. В таком случае что на английском читать?

Friedrich
13.08.2017
06:46:15
А что хочется узнать?

Просто, ну, начать писать на F# под .NET Core это просто как два байта переслать: создаёшь F#-проект через dotnet-cli, и дальше в него пишешь код :)

Google
Nikolay
13.08.2017
06:47:11
Я читал Крис Смит «Программирование на языке F#» , но русский перевод довольно старый, и там не про все фитчи рассказывается. Но как база - пойдёт

Дмитрий
13.08.2017
06:47:29
А что хочется узнать?
Хочется понят фп

Evgeniy
13.08.2017
06:53:42
Дмитрий
13.08.2017
06:54:35
Спасибо большое

Vlad
13.08.2017
07:29:13
Вообще тут в файлах чата и русские книги есть, вроде)

Nikolay
13.08.2017
07:47:30
А что там сильно поменялось с тех пор?
Я не говорил, что сильно что-то поменялось. Там F# 3.0, а сейчас актуален F# 4.1

Andrew
13.08.2017
07:51:30
Для начала изучения (имхо) это очень хорошая книжка, несмотря на почтенный возраст. А дальше, если человек втянется, уже можно читать чейнджлог :)

Astmatik
13.08.2017
10:37:46
Парни, а что лучше всего ложится на локальное хранение данных для F#? Документо-ориентированное, в духе mongodb.

Igor
13.08.2017
10:58:11
SQL + TypeProvider - вроде все устраивают Лично мне больше нравится mongodb. Она прадва из коробки не дружит с DU (работают только в режиме enum)

Astmatik
13.08.2017
11:23:34
а без сервера, в духе sqlite?

Igor
13.08.2017
11:41:07
Есть Dagger и он поддерживает sqlite TypeProvider тоже наверное поддерживают (их конечно нет на core clr) EntiryFramework тоже поддерживает sqlite, но я бы не советовал - слишком неудобно юзать его в F# (или вообще не возможно, тут надо уточнить) @ruzzke_mir вроде собирался использовать http://www.litedb.org (nosql) - может ему есть что рассказать

Nikolay
13.08.2017
11:41:27
Монга слишком любит оперативу

Igor
13.08.2017
11:42:13
Ну а кто не любит

Astmatik
13.08.2017
11:49:32
lightdb, вау, спасибо за рекомендацию

Pavel
13.08.2017
12:12:45
А как там с поддержкой DU?

Nikolay
13.08.2017
12:14:41
А там неужели нет кастомных конвертеров?

Google
Pawel
13.08.2017
18:56:51
enum - это общее для С# и F#, а DU и рекорды - никак

Igor
13.08.2017
19:04:13
enum - это общее для С# и F#, а DU и рекорды - никак
А какие проблемы с рекордами?

Friedrich
14.08.2017
03:31:57
Парни, а что лучше всего ложится на локальное хранение данных для F#? Документо-ориентированное, в духе mongodb.
Есть ещё RavenDB. Он довольно своеобразный, но попробуй — может, понравится.

Evgeniy
14.08.2017
06:15:02
Какой цветастый туториал. ,__, http://www.progletariat.com/blog/2017/07-03-fsharp-fable-three-maze/

Vlad
14.08.2017
06:17:02
@gsomix это спам, походу

Friedrich
14.08.2017
06:19:52
Убрали спам уже.

Evgeniy
14.08.2017
06:22:25
Быстрые вы, так и меня догоните скоро по количеству забаненых.

ilfat
14.08.2017
06:22:52
А тут за что банят?

Evgeniy
14.08.2017
06:23:10
А тут за что банят?
За спам и неадекватное поведение.

Roman
14.08.2017
06:23:33
А тут за что банят?
За спам. Ещё не любят мат , обилие стикеров.

Но за мат и стикеры банили только одного

И он исправился.

Vlad
14.08.2017
06:28:52
Убрали спам уже.
Забавно, он у меня ещё висит выше

Astmatik
14.08.2017
07:21:40
Есть ещё RavenDB. Он довольно своеобразный, но попробуй — может, понравится.
Спасибо бро, но мне хотелось локальный сервер, и чтоб юзер не парился с дополнительными установками. Скорее всего сяду на SQLite.

Friedrich
14.08.2017
07:22:38
Спасибо бро, но мне хотелось локальный сервер, и чтоб юзер не парился с дополнительными установками. Скорее всего сяду на SQLite.
RavenDB и LiteDB подходят под твоё определение — они встраиваются в приложение, и отдельной установки не требуют. Но там NoSQL. Если хочется SQL, тогда SQLite — хороший выбор.

Astmatik
14.08.2017
07:29:17
Хочется документо-ориентированности.

У меня нету джойнов, просто хранение нескольких списков.

Nikolay
14.08.2017
07:31:07
Astmatik
14.08.2017
07:31:23
Его раскритиковали тут )

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