
Pawel
17.06.2017
07:35:23
Ограничивает, что он платный
всё ифраструктурное бесплатно + дофига биндингов бесплатных. Платное будет что-то типа биндинга для KendoUI или winjs

Alexey
17.06.2017
07:55:33
Ну и уж если дело дошло до использования в коммерческих продуктах , то почему бы не заплатить

Pawel
17.06.2017
08:04:49
Ну я чисто для клиента, а там всё нужное даром. Сервер бы я не стал использовать в проде, тем более платить за него. Но сама идея сервера websharper офигенная - полноценный ajax фреймворк с клиентом и сервером в одном проекте. Насколько я знаю такого почти ни где нет, кроме как в clojure и n2o в erlang

Alexey
17.06.2017
08:05:37
GWT

Google

Roman
17.06.2017
09:10:24

Pawel
17.06.2017
09:32:46
точно, meteor ещё. Через лет 15 будем на fable писать под него

Evgeniy
17.06.2017
09:34:20

Pawel
17.06.2017
09:39:38
а такой прогноз на основе темпов развития) вон kotlin под gwt до сих пор не могут сделать.

Evgeniy
17.06.2017
09:40:19
@ruzzke_mir Так надо помочь!

Pawel
17.06.2017
09:43:08
@ruzzke_mir Так надо помочь!
Идея гут. Но это только джедаи могут одновременно строгать энтерпрайз и опенсорц. Простым пацанам вроде меня надо и спать когда-то)))

Igor
17.06.2017
09:45:11
Кто-нибудь пощупал https://github.com/dungpa/fantomas ? Я все никак не пойму как его в CLI использовать.

Friedrich
17.06.2017
09:49:39
У себя руками в локальном каталоге отремонтировал, после фикса с новым FSharp.Core.dll и конфигом — работает.
А, ну и у них в документации не тот NuGet-пакет указан. Я им отправил PR с исправлением доки.

Igor
17.06.2017
09:51:59

Google

Friedrich
17.06.2017
09:52:37
Вроде бы пока нет. Но там код не очень хитрый, можно подумать над портированием.

Igor
17.06.2017
09:57:02
Такого не было?
The following exception occurs while formatting stdin: System.MissingMethodException: Method 'Microsoft.FSharp.Core.OptionModule.OfObj' not found.
at Microsoft.FSharp.Compiler.SimulatedMSBuildReferenceResolver.GetBestAvailableResolver (System.Boolean msbuildEnabled) [0x00005] in <58af3c86ddab8ea7a7450383863caf58>:0

Friedrich
17.06.2017
09:59:06
Не, такого не было, что это вообще за ад %)
Щас скину.
Скинул в приват.
Основные бинарники я не менял, можешь сверить с нугетом :)
Поменял FSharp.Core на официальный билд 4.4.1.0, и добавил конфиг, чтоб binding redirect работал как надо.

Igor
17.06.2017
10:03:11

Friedrich
17.06.2017
10:03:42
По-моему, "4.1" это и значит 4.4.1.
У них там первая цифра — это target framework.

Igor
17.06.2017
10:04:19
ok

Friedrich
17.06.2017
10:04:50
В смысле, версия бинарника отличается от версии пакета тем, что слева в ней target framework указывается. Это такая конвенция только у FSharp.Core, а не какой-то общий порядок.

Roman
17.06.2017
10:44:02
точно, meteor ещё. Через лет 15 будем на fable писать под него
Там была проблема с кучей инфраструктурного кода от webpack. Но вроде сделали инструмент. Я обещал проверить но пока руки не дошли. Issue 800
Я делал прототип на старом fable, там была проблема в сайдэффектах. Когда сохраняешь что-то в бд, слетал биндинг и у сохранённого объекта не появлялся айдишник. Эта проблема с рекордами была. Мне подсказали, что стоит коллекции типизировать не рекордами, а интерфейсами
Тогда получилось. А сейчас хз.

Evgeniy
17.06.2017
11:10:47
Expecto v5.0 released!
https://github.com/haf/expecto/releases/tag/v5.0.0

Roman
17.06.2017
11:25:24
Видимо спонсор f# х5 ретеил групп)

Evgeniy
17.06.2017
11:55:38

Roman
17.06.2017
11:57:48

Evgeniy
17.06.2017
11:58:14

Google

Roman
17.06.2017
11:58:30
Я тоже:|

Evgeniy
17.06.2017
11:58:31
Помню, что поддержка Core там.
https://github.com/kjnilsson/fez/pull/7#issuecomment-309210600
Может Fez взлетит? :)

Nikolay
17.06.2017
12:27:38
А Erlang сильно хуже F#?

Friedrich
17.06.2017
12:28:09

Nikolay
17.06.2017
12:28:29
И там ещё какой-то язык есть на его VM

Friedrich
17.06.2017
12:28:43
Как по мне, отсутствие внятной системы типов и опциональный dialyzer — это прям *сильно* хуже F#.

Nikolay
17.06.2017
12:29:03
Дело только в типах?

Friedrich
17.06.2017
12:29:16
Но, с другой стороны, рантайм там очень интересный. Можно сказать, что для акторных систем он намного лучше подходит, чем CLI.

Roman
17.06.2017
12:59:15

The mirror
17.06.2017
13:59:45
Elixir наверное имеют в виду

Evgeniy
17.06.2017
14:39:22
Suave v2.1.1 released!
https://github.com/SuaveIO/suave/releases/tag/v2.1.1
Последние деньки богаты на релизы.
@neftedollar Релиз ноутс для Expecto появились.

Roman
17.06.2017
15:31:48

Aminion
17.06.2017
16:52:27
Чета сложно ребята. Есть ли книга о построении архитектуры приложений на фшарпе. А то большинство показывает все на вакуумных примерах.

Evgeniy
17.06.2017
16:53:34
Aminion А какие приложения интересуют? Читал F# Applied, например?

Google

Aminion
17.06.2017
16:55:54
Ну прежде всего веб, конечно. Сейчас глянем

Алекс
17.06.2017
17:01:39

Evgeniy
17.06.2017
17:04:00
Алекс В файлах чата. Поиск по applied.

Алекс
17.06.2017
17:10:01

Roman
17.06.2017
17:35:51

Evgeniy
17.06.2017
19:29:17
Привет?

Максим
17.06.2017
19:29:38
Привет.

Evgeniy
17.06.2017
19:30:08

Максим
17.06.2017
19:30:42
Нет. Вникаю в эту сферу только.
А что?

Evgeniy
17.06.2017
19:35:29
F# Weekly #25, 2017 – Paket 5 and new Rider EAP
https://sergeytihon.com/2017/06/17/f-weekly-25-2017-paket-5-and-new-rider-eap/
И свежий пост от vaskir.
https://vasily-kirichenko.github.io/fsharpblog/schedulers

Roman
17.06.2017
19:41:29
А что?
Мы тут многих такими вопросами встречаем. Любопытство, ничего более)

Igor
17.06.2017
20:48:02
Никто не пытался скомпилировать AOT проект на F# mono?
Хочется распространять консoльную утилитку без привязки к .net/mono

Roman
17.06.2017
21:29:02

Igor
18.06.2017
09:49:08
Покомпилировал fantomas - толку 0
Бинарники генерируются мегабайт на 60, а ускорение старта на грани погрешности (даже с -O=all )
Экспериментировал для ускорения своего плагина VSCode https://github.com/y2k/FantomasVSCode
Вроде и работает, но блин 3-7 сек, это никуда не годится.

Friedrich
18.06.2017
09:52:52
Чтоб только один раз стартануть заранее, а потом быстро выполняться.

Google

Igor
18.06.2017
09:53:27

Friedrich
18.06.2017
09:53:32
(но надо бы померить оверхед от старта и оверхед от форматирования отдельно, конечно)

Igor
18.06.2017
09:55:13
Ок, типа сервис (я то подумал про web сервер)
По идеи должно помочь.
Судя по замерам автора https://github.com/dungpa/fantomas/blob/master/tests/output.txt тормозит только первый запуск.

Friedrich
18.06.2017
09:55:40
JIT очень много работы выполняет?
Может быть, попробовать хвалёный параллельный JIT? Хотя это только для десктопного .NET, и на Mono не покатит.
А отдельный процесс поможет оптимизировать на всех платформах.

Igor
18.06.2017
09:56:43
Я думал что да и AOT компиляция FSharp.Compiler.Service.dll, FSharp.Core.dll и FantomasLib.dll поможет,
а почему-то НЕТ (и разброс времени выполнения иногда даже хуже чем без AOT).

Anton
18.06.2017
10:14:46
Попалась под руки статья о дата саинсе.
https://m.habrahabr.ru/post/331060/
Может ещё кому будет интересно.

Evgeniy
18.06.2017
12:37:42
https://youtrack.jetbrains.com/issue/RIDER-7172
Я проголосовал.

Nikolay
18.06.2017
13:22:26
А райдер кор поддерживает уже?

Evgeniy
18.06.2017
13:22:34
Нет.

Nikolay
18.06.2017
13:22:46
Иди голосуй :)

Igor
18.06.2017
15:17:38
Народ можно это проще переписать?
Мне нужны рандомные числа (в заданном диапазоне), с поддержкой канкаренси.
let private makePincode =
let rand = Random()
let locker = obj()
fun () -> lock locker (fun () -> rand.Next(1000, 9999).ToString())
И вообще (никак не нагуглю), как правильно работать с мутабельным статическим полем с учетом многоточности.
Реально вот так http://fssnip.net/1V надо эмулировать атомарные переменный (типа clojure atom)?

Friedrich
18.06.2017
15:46:23
Так тебе рандом или атомарные переменные?

Igor
18.06.2017
15:46:33
Это два несвязанных вопроса.

Friedrich
18.06.2017
15:46:40
Ок.
Рандом выглядит безопасно. Я не знаю, как короче написать.