@Fsharp_chat

Страница 516 из 772
Vasily
16.03.2018
12:17:44
Пакет лучше хотя бы тем, что можно мокать локальные зависимости

Vasily
16.03.2018
12:25:33
Ну там же есть paket.local

Если мне память не изменяет

Google
Enterpise
16.03.2018
12:27:17
Пакет лучше хотя бы тем, что можно мокать локальные зависимости
мой внутренний юнит тестер пришел в возбужение

т.е. без установки зависимостей

?

Artemy
16.03.2018
12:45:32
Ну там же есть paket.local
О, точно. Как-то не замечал этой штуки.

https://fsprojects.github.io/Paket/local-file.html

Kirill
16.03.2018
13:44:46
https://github.com/Microsoft/MSBuildSdks/tree/master/src/CentralPackageVersions

киллер фича пакета в нугете :)

Vasily
16.03.2018
13:53:50
чем это помогает?
Если надо отладить пакет нугетовский, например, как он будет работать в составе продукта. Одно решение-копирование бинарников,в некоторых случаях правка файла проекта, в другом случае просто в paket.local даём линк на аутпут бинарников

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

Kirill
16.03.2018
13:57:07
ну и, кстати, transient dependencies завезли с новым форматом csproj файла

Friedrich
17.03.2018
05:40:13
Ок, я поковыряю вечерком.
Поковырял? Помощь нужна?

Оно не актульно на фоне другого опенсорса, плюс баги и медленная работа
А покажите другой опенсорс, пожалуйста! Из преимуществ: работает везде (у меня на nixos просто так мало что заводится, а вот monogame работает прекрасно), есть поддержка неткора, не требует каких-то специализированных инструментов для контрибьюторов (а-ля unity, ужас).

Google
Friedrich
17.03.2018
05:44:07
Релиз последний... 3.6
Я юзаю пререлизные пакеты для неткора. Обещали 3.8 скоро.

Я юзаю пререлизные пакеты для неткора. Обещали 3.8 скоро.
Право слово, на неткоре у меня под nixos пока что биндинг с opengl не завёлся, но я планирую поколдовать и починить.

Evgeniy
17.03.2018
08:46:36
w00t?! https://github.com/Microsoft/visualfsharp/pull/4563

если б позволяли то в природе бы существовали экспрешены позволяющие декларативно описывать какую-либо предметную область
Я чот не выкупил твой аргумент. Например, есть библиотека freya с декларативными eDSL, позволяющими описывать: - роутинг — freyaRouter { ... }; - ответы на HTTP запросы — freyaMachine { ... }, деревья принятия решений.

@deexpp Если эти примеры не подходят, то мне нужны дополнительные пояснения.

https://twitter.com/sergey_tihon/status/974955607299063808

Nicholas
17.03.2018
14:24:16
https://twitter.com/sergey_tihon/status/974955607299063808
это средняя по больнице?

или средняя среди наибольших в странах

Vlad
17.03.2018
14:25:18
https://twitter.com/sergey_tihon/status/974955607299063808
Мне не нравится их статистика если честно

Она странная

Evgeniy
17.03.2018
14:25:51
Мне тоже. Но я это и не хотел обсуждать, просто кинул ссылку на F# Weekly.

Видео с Lambda Days 2018 выложили. :)

Немного про F# есть. https://www.youtube.com/watch?v=LBekZt8QB4w

Но я в ближайшее время хочу посмотреть доклад Heather Miller про OSS.

это средняя по больнице?
> Median of 56,835 responses; USD Что бы это ни значило. Обещали сырые анонимизированные данные выложить.

Evgeniy
17.03.2018
17:01:32
@deexpp А по делу?

Google
Pavel
17.03.2018
17:02:33
почему все новые провайдеры к базам не оринтированы на него?

Evgeniy
17.03.2018
17:08:02
Pavel
17.03.2018
17:08:26
@deexpp А по делу?
по делу про фрею? я про нее от тебя первый раз услышал. всякие жирафы и вебшарперы используют обычные листы для dsl.

Pavel
17.03.2018
17:09:35
Новые провайдеры работают с SQL.
они поэтому и работаю с SQL что через query{} в принципе невозможно описать этот eDSL

Pavel
17.03.2018
17:14:42
Каковы технические причины?
ну я то откуда знаю. предметная область видимо слишком сложна. я вот тоже могу с десяток пунктов назвать которые можно было ь впилить в f#. и на любой ответ что это неправильно/невозможно/не соотвествует дизайну задать вопрос "технические причины?". "технические причины" это вообще не вопрос.

Evgeniy
17.03.2018
17:16:40
Это единственный вопрос, который меня интересует.

Pavel
17.03.2018
17:37:17
Это единственный вопрос, который меня интересует.
нет никаких технических причин, чтобы не писать сразу x86 код вместо f#. нет никаких технических причин не вынести всю бизнес-логику в кобол и дергать ее из f#. технически даже сову на глобус не проблема натянуть. но это всё никому не нужно. еще раз "технические причины" это вообще не вопрос. вопрос может быть "быстро, удобно, надежно, наглядно и пр." по этим вопросам экспрешены пролетают. ты в принципе еще ни разу ничем не показал что экспрешены вот таки нереально круто отличаются от положительную сторону от всего остального чтоб в них дсл пихать. ни в кверях ни в вебсерварах их особо не жалуют. в чем смысл их использования? только в том что они есть? поэтому их надо писать во всё что можно?

Pavel
17.03.2018
18:33:30
нет никаких технических причин, чтобы не писать сразу x86 код вместо f#. нет никаких технических причин не вынести всю бизнес-логику в кобол и дергать ее из f#. технически даже сову на глобус не проблема натянуть. но это всё никому не нужно. еще раз "технические причины" это вообще не вопрос. вопрос может быть "быстро, удобно, надежно, наглядно и пр." по этим вопросам экспрешены пролетают. ты в принципе еще ни разу ничем не показал что экспрешены вот таки нереально круто отличаются от положительную сторону от всего остального чтоб в них дсл пихать. ни в кверях ни в вебсерварах их особо не жалуют. в чем смысл их использования? только в том что они есть? поэтому их надо писать во всё что можно?
В suave сокеты создаются через computation expressions, в akka.fsharp есть экспрешены для создания акторов. Это то, что активно используется и вспомнил с ходу. Не понимаю сути претензий к этому н инструменту ?‍♀️

Artem
17.03.2018
19:02:55
Что то толсто, в тех. причины также можно воткнуть неудобно и оверхэд

Pavel
17.03.2018
19:10:00
еще раз задача экспрешенов это организация императивного потока вычислений, а не описание dsl

Vasily
17.03.2018
19:16:20
Чет я не понял.dsl должен быть Тьюринг полным,шоле?

Pavel
17.03.2018
19:18:43
сокеты какое отношение к dsl имеют?
Так там DSL для создания сокета

Pavel
17.03.2018
19:23:04
Pavel
17.03.2018
19:25:56
пример?
Google - >suave sockets

Roman
17.03.2018
19:26:23
Чет я не понял.dsl должен быть Тьюринг полным,шоле?
Я этот вопрос недавно задавал в чате по компиляторам

Google
Roman
17.03.2018
19:31:57
https://s3.amazonaws.com/praeclarum.org/wasm/index.html посмотрите что загружает сайт через f12! Крутотень же

Причем .net сборки подгружаются из диска

Pavel
17.03.2018
19:46:15
Google - >suave sockets
понятно. https://suave.io/websockets.html что имеем. слегка переименованный async {} с ни одним новым словом что собственно и подразумевает dsl. т.е. dsl там нет. зато ниже настоящий dsl рутера через choose со списками. и?

Pavel
17.03.2018
19:47:56
проблемы никакой нет. экспрешены в виде dsl нигде не используются. вот и всё

Roman
17.03.2018
19:52:42
используются во freya, пример выше. то что конкретно freya год не обновлялась не говорит о том что не ce не используются для dsl. плюс dsl обычно редко публикуются, т.к. близки к конкретному домену. другие примеры парсеры FParsec там можно использовать CE для описания парсеров в дополнение к обычному синтаксису. еще hopac. suave с сокетами, CE стараются сделать близким к уже известынм билдерам, например async, чтобы был ниже порог вхождения(в этом и смысл dsl), зато под капотом все работает совершенно иначе( dsl так же для сокрытия реализации )

думаю примеров достаточно, давайте закроем этот вопрос, если вас не убедили примеры, то, думаю, ваше мнение и так не поменяется.

Pavel
17.03.2018
20:02:46
понятно. https://suave.io/websockets.html что имеем. слегка переименованный async {} с ни одним новым словом что собственно и подразумевает dsl. т.е. dsl там нет. зато ниже настоящий dsl рутера через choose со списками. и?
Есть и более сложные примеры, например chiron для парсинга json, а так же примеры выше. Экспрешены вполне заняли свою нишу деклатирвных билдеров. В сети можно найти ещё снипеты простых DSL для html.

Pavel
17.03.2018
20:06:28
не убедили. СЕ в FParsec это монадичный стиль описания (для чего СЕ и предназначены о чем я ранее говорил). но главное вот оно: если СЕ призваны уменьшить порог вхождения то почему их нет в вебшарпере? это коммерческий продукт, там понижение порога вхождения это mission critical feature.

?‍?
17.03.2018
20:37:44
https://www.eelcomulder.nl/2018/03/16/using-entity-framework-core-with-f/
Спасибо, но как я понял, это не совсем единомышленник. Мой вопрос не сколько в использовании EF+F#, сколько EF on Android/iOS/...

Artemy
17.03.2018
22:26:13
не убедили. СЕ в FParsec это монадичный стиль описания (для чего СЕ и предназначены о чем я ранее говорил). но главное вот оно: если СЕ призваны уменьшить порог вхождения то почему их нет в вебшарпере? это коммерческий продукт, там понижение порога вхождения это mission critical feature.
> почему их нет в вебшарпере У меня лишь предположение. WebSharper довольно давно разрабатываться начал (первый релиз ещё в 2008-м, похоже), тогда как возможность создавать свои ключевые слова для CE появилась лишь в F# 3.0, который релизнулся в 2012 г. После же выхода F# 3.0 могли решить не использовать CE как минимум для совместимости. Ну а, потом, DSL на списках вполне хватает для описания HTML. И этот способ, как мне кажется, проще в реализации.

Но у них, конечно, были возможности перейти на CE. Во-первых, в WebSharper.UI.Next, ну а во-вторых, в недавно релизнувшемся WebSharepr.UI.

@fvnever большое спасибо за ревизию перевода. Я почитал. Завтра, надеюсь, подправлю всё согласно замечаниям. И там ещё пару статей из цикла у меня частично переведено. Постараюсь в скором времени и их закинуть.

Evgeniy
18.03.2018
07:36:24
https://www.nuget.org/packages/FSharp.Core.Fluent-4.0/

Обновил. Спасибо @sergey_tihon.

Чуть позже избавимся от постфикса -4.0

Friedrich
18.03.2018
07:47:59
Evgeniy
18.03.2018
07:48:19
Да.

Friedrich
18.03.2018
07:48:23
?

Google
Roman
18.03.2018
10:48:55
Посмотрите, о чем твитнул(а) @eiriktsarpalis: https://twitter.com/eiriktsarpalis/status/974948372258975744?s=09

Vlad
18.03.2018
12:30:26
у вас разор в нет кор проекте нормально работает? у меня массивные лаги

и какой-то экстеншн отмирает, пока не понял какой, видимо razor language service

@fvnever файлы разора в dotnet new mvc -lang F# открываются без ошибок?

а то проверить бы как-то

Vlad
18.03.2018
13:25:21
студией

Friedrich
18.03.2018
13:25:29
Щас проверю.

Vlad
18.03.2018
13:26:27
сейчас при открытии у меня с такой портянкой падает в логах <entry> <record>1864</record> <time>2018/03/18 13:10:08.823</time> <type>Error</type> <source>Editor or Editor Extension</source> <description>System.NullReferenceException: Object reference not set to an instance of an object.&#x000D;&#x000A; at Microsoft.VisualStudio.Html.Package.CBM.CBMWorkItemDispatcher`1.Dispatch(ITextBuffer textBuffer, Func`1 toExecute, Action`1 callback)&#x000D;&#x000A; at Microsoft.VisualStudio.Html.Package.Razor.RazorImportsProvider.Microsoft.Html.Editor.ContainedLanguage.Razor.Def.IRazorImportsProvider.GetImportsAsync(ITextBuffer textBuffer, Func`1 toExecute, Action`1 callback)&#x000D;&#x000A; at Microsoft.VisualStudio.Web.Razor.Implementation.Shims.RazorCodeGenerator.DispatchGetRazorNamespacesWorkItem()&#x000D;&#x000A; at Microsoft.VisualStudio.Web.Razor.Implementation.Shims.RazorCodeGenerator.&lt;.ctor&gt;b__24_0()&#x000D;&#x000A; at Microsoft.Web.Editor.Utility.GuardedOperations.InvokeExtensionPoint(Object errorSource, Action action)</description> </entry>

Vlad
18.03.2018
13:28:16
Попробуй пока на C#-проекте проверить.
работает, тэгхелперы и все такое

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