Vladimir
21.09.2017
20:08:09
Pavel
21.09.2017
20:09:09
kana
21.09.2017
20:09:46
Pawel
21.09.2017
20:10:13
В fable из обязательных зависимостей только babel, все остальное на свой вкус. В дефолтовом темплейте помоему yarn используется. Плюсы fable в том, что это транспайлер f# в js. Это не огромный фреймворк как websharper или elm, а небольшая тулза, которая помогает перенести f# в js. И это не ограничивается фронтом, можно без проблем писать сервер на ноде, или десктоп на электроне. И самое главное, что fable тебя не ограничивает (теоретически) в выборе js библиотек, фреймворком. В общем я не вижу смысла сравнивать websharper с fable. Тут разумно сравнивать с typescript. Если устраивает синтаксис и инструменты TS то лучше взять его,ну или elm.
> И самое главное, что fable тебя не ограничивает (теоретически) в выборе js библиотек, фреймворком
ограничивает ни чуть не меньше чем все подобные инструменты. А зачастую на много больше. MobX например в Fable нельзя ни сейчас ни в обозримом будущем ?
Google
Pavel
21.09.2017
20:11:00
Fable продьюсит babel AST. Я не сильно слежу за js миром, но мне кажется браузеру это скормить не получится.
Pawel
21.09.2017
20:12:13
> Это не огромный фреймворк как websharper или elm,
elm не огромный, он довольно компактный) websharper для фронта тоже маленький
Vladimir
21.09.2017
20:26:02
Подскажите плиз, почему вот это
module Router
let usersPathString = PathString("/users")
компилится вот в это
public static class Router
{
[CompilationMapping(SourceConstructFlags.Value)]
public static PathString usersPathString
{
get
{
return Router.usersPathString@27
}
}
И как оставить поле вместо свойства
Pawel
21.09.2017
20:26:03
> Если устраивает синтаксис и инструменты TS то лучше взять его,ну или elm.
собственно да. Алгебраические типы - есть. Неизменяемые структуры данных - тоже. Система типов более мощная. Есть ad-hock полиморфизм через миксины. И это я ещё молчу про reasonml, где всё на много круче ?
Vladimir
21.09.2017
20:30:01
Aleksander
21.09.2017
20:44:29
Сходил на митап про F#. Доклады для совсем начинающих, ну и народ туда больше приходит за нетворкингом.
Andrew
21.09.2017
21:00:46
Где проходил митап? Где анонсировался? Можно ссылку?
Pavel
21.09.2017
21:57:45
Aleksander
21.09.2017
22:14:56
Google
Andrew
21.09.2017
22:16:21
а, так это в Лондоне :)
Evgeniy
22.09.2017
05:35:53
Дед Пегас
22.09.2017
05:37:20
Доброе утро!
Evgeniy
22.09.2017
05:37:51
Pavel
22.09.2017
05:41:29
Он сам и вызывает.
Все правильно. А вебпак используется для бандлинга, запуска вебсервера, запуска демона fable.
Evgeniy
22.09.2017
05:44:03
Если честно, то мне немного надоедают споры про инструменты для компиляции в JS, которые начались ещё в @elm_ru и перекатились к нам.
Pavel
22.09.2017
05:48:37
Ну почему споры. Человек вроде искал что ему выбрать для фронта на f#. Просто высказывают своё мнение про тот или иной инструмент.
Evgeniy
22.09.2017
05:49:25
Да, я погорячился, конечно же. Наверное, мне так кажется, потому что я уже не первый раз перечитываю одни и те же аргументы. ?
Pavel
22.09.2017
06:32:41
Твит в тему последней дискуссии https://twitter.com/k_cieslak/status/911006135150350336
Evgeniy
22.09.2017
06:38:16
А у меня есть про WebSharper. ?
http://forums.websharper.com/view-ticket/83481
Я не очень хорошо понял, для чего это и чем грозит.
сс Pavel @ruzzke_mir
Смотрите, какая интересная штука!
> Computer Vision with F# - Advanced Lane Finding
https://github.com/fwaris/CarND-Advanced-Lane-Lines/blob/master/fw_adv_lane_fine_writeup.pdf
@ruzzke_mir И если будет свободная минутка, расскажешь про WebSharper? А то там много всего, вроде и для бэкенда что-то есть, и UI.Next.
Pawel
22.09.2017
07:25:27
Очень годная штука. Позволяет написать сервер и тонкий клиент прямо в одном проекте. Интегрирована с ASP net. Сборка через msbuild, всё настроено в шаблонах проектов для Visual Studio. Много биндингов, нормальный interop с js. Много уникальных фишек - сайтлеты, тайп-провайдеры для шаблонов html, типизированный роутинг, FRP. Документация хорошая, много блог-постов - почитай. Вендорится крупной фирмой, много активных контрибъютеров, все мейнтейнеры - грамотные инженеры.
^ @gsomix
Evgeniy
22.09.2017
07:27:22
@ruzzke_mir А для отдельного фронта есть UI.Next, правильно?
Pawel
22.09.2017
07:27:37
да, конечно
Evgeniy
22.09.2017
07:28:24
Ок, спасибо.
@ruzzke_mir Я так понимаю, .NET Core не поддерживается, да?
Pawel
22.09.2017
07:35:20
нет, не поддерживается.
Google
Vladimir
22.09.2017
08:17:20
Private?
Нет, не помогло, просто модификатор стал internal
Evgeniy
22.09.2017
08:22:03
Vladimir
22.09.2017
08:24:29
Я пытаюсь дальше улучшать перформанс Highloadcup решения и ищу где =) уже всего в 3 раза хуже чем топовое на плюсах
Ну вот проперти вместо поля вроде бы очевидно что не нужно
Еще неожиданно обнаружил что Seq генерит вот такую конструкцию
try
{
double num3 = 0.0;
int num4 = 0;
while (enumerator.MoveNext())
{
num3 += fsharpFunc.Invoke(enumerator.Current);
++num4;
}
if (num4 == 0)
throw new ArgumentException(LanguagePrimitives.ErrorStrings.InputSequenceEmptyString, "source");
num2 = num3 / (double) num4;
}
finally
{
IDisposable disposable = enumerator as IDisposable;
if (disposable != null)
disposable.Dispose();
}
Тоже надо будет переписать
Evgeniy
22.09.2017
08:28:15
Да, у Seq пока что-то странное с производительностью. В следующей версии F# должно быть получше.
Vladimir https://telegram.wiki/desktop/tdesktopcodesnippets
Igor
22.09.2017
08:29:07
Кул, seq может быть IDisposable. Кто-нибудь применял?
Vladimir
22.09.2017
08:30:32
еще кстати кому интересно - все переписал на структуры и получилось медленней, вернул обратно классы
Evgeniy
22.09.2017
09:24:10
ANNOUNCING THE SAFE STACK
> Today, we're announcing the launch of the SAFE stack initiative, which brings all of the elements together as a cohesive story:
- Suave model for server-side web programming
- Azure for cloud-based systems
- Fable for Javascript-enabled applications
- Elmish for an easy-to-understand UI programming model
https://compositional-it.com/blog/2017/09-22-safe-release/index.html
Привет. о/
Vasily
22.09.2017
09:29:09
Это бот, походу
techi
22.09.2017
09:34:31
https://i.imgur.com/2lUiJ70.png
Evgeniy
22.09.2017
09:35:55
Похоже на то.
Roman
22.09.2017
09:36:53
А дайте ссыль на CIL
Evgeniy
22.09.2017
09:36:59
Будет спамить, удалим. :)
techi
22.09.2017
09:37:09
https://t.me/cilchat
Google
Roman
22.09.2017
09:37:32
Evgeniy
22.09.2017
09:37:42
techi
22.09.2017
09:38:18
Нет. :)
Вот и хорошо! Я тут всё ещё сижу и не могу понять как использовать ФП вообще. Оно какое-то дикое...
Vasily
22.09.2017
09:38:50
Но симпатишное
techi
22.09.2017
09:39:17
Vasily
22.09.2017
09:39:35
Ну тут все ок
techi
22.09.2017
09:40:29
Я не могу понять смысла этой конструкции...
Vasily
22.09.2017
09:40:51
Она значит, что надо вместо возвращаемого значения вернуть unit
Т.е. проигнорировать результат вычисления
Например 3+2 вернет 5, а 3+2|>ignore unit
techi
22.09.2017
09:42:01
Звучит странно. Почему именно uint?
Vasily
22.09.2017
09:42:14
Рассматривай это как void
techi
22.09.2017
09:42:26
А, точно.
Vasily
22.09.2017
09:42:29
по факту - пустая функция
Поскольку в f# функции не могут ничего не возвращать
То unit - аналог void
techi
22.09.2017
09:43:52
В F# нет void, но есть unit, а он как void...
Вроде легче стало, спасибо :)
kana
22.09.2017
09:50:58
ноуп. Юнит - единичный тип, есть одно значение. У void нет значений, это нулевой тип.
Хотя если void из сишки, то да, наверное
Ох уж этот миснейминг
Evgeniy
22.09.2017
09:52:08
Google
Evgeniy
22.09.2017
09:53:12
И ещё немного из документации.
https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/unit-type
Да, по поводу чатов. Есть отличный список, который я немного помогаю пополнять:
https://github.com/goq/telegram-list
И CIL чат там тоже есть. :)
Artemy
22.09.2017
11:56:15
Очень годная штука. Позволяет написать сервер и тонкий клиент прямо в одном проекте. Интегрирована с ASP net. Сборка через msbuild, всё настроено в шаблонах проектов для Visual Studio. Много биндингов, нормальный interop с js. Много уникальных фишек - сайтлеты, тайп-провайдеры для шаблонов html, типизированный роутинг, FRP. Документация хорошая, много блог-постов - почитай. Вендорится крупной фирмой, много активных контрибъютеров, все мейнтейнеры - грамотные инженеры.
Ну там, к сожалению, не по всему документация хорошая. В своё время относительно долго с WebSharper.Forms разбирался. Хотя, возможно, это из-за неопытности.
Ну бывало, когда вопросы задавал, так и не получал ответы.
Roman
22.09.2017
11:58:54
Artemy
22.09.2017
12:01:33
Тут всеразличные примеры есть, если что:
https://try.websharper.com
Roman
22.09.2017
12:08:59
Спасибо
Pawel
22.09.2017
12:09:37
А есть пример интеропа с js?
ну вот например https://developers.websharper.com/docs/translation Там очень много материалов на сайте в доках на эту тему
Artemy
22.09.2017
13:27:49
https://forums.websharper.com/view-ticket/83499
Evgeniy
22.09.2017
13:28:40
Artemy
22.09.2017
13:29:05
Ага. По крайней мере, они работают над этим.
Кстати, у них и форум преобразился. Над своим сайтом неплохо поработали в последнее время.