@Fsharp_chat

Страница 642 из 772
Ayrat
16.07.2018
16:32:12
JS на каждом углу, в каждом браузере, т.е. это ПК, смартфоны, планшеты, весь блин Web на нём держится. куча транспайлеров из XXX в JS, топ-1 язык на StackOverflow, и это типа недостаточно круто чтобы обогнать эту отрыжку 2000-ых?

извините

Kirill
16.07.2018
16:38:03
Я и джаву в жизни не встречаю, однако она ещё выше

евроневидимка
16.07.2018
16:39:17
Google
евроневидимка
16.07.2018
16:39:50
Или это тоже пока эксклюзив для моно?

Friedrich
16.07.2018
16:54:13
А моноформы не портнули?
Не портировали, они так и остаются частью моно.

евроневидимка
16.07.2018
16:54:26
а ведь могли бы, эх

Friedrich
16.07.2018
16:54:56
Не хотят помогать конкурирующим клиентским ОС, наверное.

Friedrich
16.07.2018
16:57:09
корпоративный сектор на МС Оффис
Ну, к офису тоже на C# аддоны пишут. И на жаваскрипте щас.

На VB.NET я ни одного не видал.

Впрочем, я вообще ни одной программы на нём не видал, скажу честно :)

Кроме тех, что сам написал, пока баловался.

[Anonymous]
16.07.2018
16:57:52
Ну, к офису тоже на C# аддоны пишут. И на жаваскрипте щас.
ну, имхо, вижуал бейсик проще воспринимать нежели жабаскрипт

Roman
16.07.2018
17:00:23
Привет

Google
Pepper
16.07.2018
17:00:56
Привет всем

Vladimir
16.07.2018
20:18:00
Можно Z(x="x", y ="y")
Круто, спасибо)

Roman
17.07.2018
09:49:00
Online version of the ts2fable https://twitter.com/humhei1/status/1018779443370737664?s=19 http://fable.io/ts2fable

Ayrat
18.07.2018
09:04:45
Vasily
18.07.2018
09:07:15
Это как, простите?

Столько лет логин в твиттере не заводил,и сейчас не хочу

Ayrat
18.07.2018
09:07:54
ну у меня ссылки не открываются которые вчера открывались. Та что выше например

Ayrat
18.07.2018
09:09:56
Лол, теперь пускает. Короче nvm

Pavel
18.07.2018
09:11:19
Лол, теперь пускает. Короче nvm
я думаю это как-то связано с твоей аватаркой на гитхабе

Ayrat
18.07.2018
09:12:05
я думаю это как-то связано с твоей аватаркой на гитхабе
это вообще дичь. До сих пор показывает мне. Creepy

Roman
18.07.2018
10:06:02
Ребят, у меня тут еэесперимент с semantic ui может кто глянуть какой api удобнее? https://github.com/Neftedollar/semantic-ui-react-fable-experiment

Владислав
18.07.2018
10:06:18
есть ли вариант как можно описать модуль без реализации. Понимаю что интерфейсы это не функционально, но смотреть на интерфейс и видеть все методы это удобно

Владислав
18.07.2018
10:07:56
а реализовывать как это?

Roman
18.07.2018
10:08:15
dotnet tool install fake-cli -g clone https://github.com/Neftedollar/semantic-ui-react-fable-experiment.git fake build --target run

использование api в Client

Pavel
18.07.2018
10:08:59
ну я в смысле какие API сравнивать по удобству?

Google
Ayrat
18.07.2018
10:09:22
да, я тоже не понял

Roman
18.07.2018
10:09:42
я сделал два типа api objectApi и listApi в стиле Fulma

objectApi мне кажутся иногда удобнее

в проекте Client использованы оба

Pavel
18.07.2018
10:11:38
Ага, вижу

Roman
18.07.2018
10:11:39
objectApi Button.content { Button.contentDft with hidden = true } [ str "-1" ] listApi Button.button [ Button.OnClick onClick Button.IsNegative true ] [ str "Click list api" ]

Владислав
18.07.2018
10:11:45
module MyModule = let create: string -> obj let update: string -> obj module MyModuleImplementation = let create name = /*implementation*/ let update name = /*implementation*/ как-то так можно сделать?

Pavel
18.07.2018
10:19:11
я сделал два типа api objectApi и listApi в стиле Fulma
мне кажется list api более консистентный

т.к. использоваться же будет вместе со стандартным elmish dsl

Roman
18.07.2018
10:21:08
Ок, я его отдельно вынес в неймспейс, чтоб не засорять, но если оставить ObjectApi то думаю, что ничего плохого не будет, как кажется?

и кмк его можно даже в отдельный пакет вынести

Pavel
18.07.2018
10:24:50
и кмк его можно даже в отдельный пакет вынести
вот может быть так, т.к. два апи могут путать

А вообще лучше хорошо подумать и оставить какой-нибудь один вариант апи

зачем поддерживать оба?

сложно же

Roman
18.07.2018
10:28:05
objectApi более низкоуровнвый и без него делать не получится

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

Летучая
18.07.2018
10:35:16
есть ли вариант как можно описать модуль без реализации. Понимаю что интерфейсы это не функционально, но смотреть на интерфейс и видеть все методы это удобно
type Service = { sendMessage: Message -> SendMessageResult sendPhoto: Photo -> SendPhotoResult } let sendMessage message = (* impl *) let sendPhoto message = (* impl *) let service: Service = { sendMessage = sendMessage sendPhoto = sendPhoto } Service — тип, service — реализация

Google
Roman
18.07.2018
11:02:30
Сайм советует использовать интерфейсы и objectExpressions

type IMyIntrfc = sendMessage : m -> unit let myIntrfc = { IMyIntrfc with sendMessage = realisation}

Pavel
18.07.2018
11:04:25
Сайм советует использовать интерфейсы и objectExpressions
object expressions крутая фича F#, которая до сих пор не попала в C# ?

Ayrat
18.07.2018
12:54:50
Реально крутая, я с её помощью столько моков написал, не счесть. Затрахался бы все эти типы рисовать. Вот пример для стандартного ILogger из Microsoft.Extensions.Logging: let logger = { new ILogger with member _x.Log(_, _, state, _, _) = printfn "%A" state member _x.IsEnabled _ = true member _x.BeginScope _ = { new IDisposable with member _x.Dispose() = () } }

Pavel
18.07.2018
13:12:57
а в джаве, кстати, есть такая фича :D

Vasily
18.07.2018
13:13:35
Там erased types, там все возможно

Ayrat
18.07.2018
13:15:58
Ой ну ладно, ладно)

Это вообще не мок и не стаб. Это рабочий логгер созданный с помощью ObJExpr :)

Igor
18.07.2018
13:46:37
Кстати нашел минус в FSharpPlus. Если юзать его операторы, то перестают выводиться типы ? Придется как в хачкеле, везде явно писать типы.

Igor
18.07.2018
13:49:22
Потому что операторы типа "полиморфны", в отличие от явного использовать List.map Option.map (ну и плюс костыли, через которые это операторы работают в F#+)

Pavel
18.07.2018
13:55:44
Ayrat
18.07.2018
14:39:37
ну это же вроде хорошая практика - писать типы явно, особенно в публичном апи
В публичном апи чаще юзают файл сигнатур, где ещё и доку ведут.

Vasily
18.07.2018
15:08:34
Читаю статью про зебру и думаю - вот куда гопака-то надо влепить

Vasily
18.07.2018
15:11:03
https://medium.com/@gerardtoconnor/racing-the-zebra-benchmark-performance-architecture-for-f-web-server-58dd922f5cfe

Ваще крутой чувак

Google
Vasily
18.07.2018
15:14:48
Сделал билдер с мутабельными членами

Igor
18.07.2018
16:21:04
А где можно посмотреть, что нового в FSharp.Core 4.5.0?

Sergey
18.07.2018
16:43:53
А где можно посмотреть, что нового в FSharp.Core 4.5.0?
https://www.fuget.org/packages/FSharp.Core/4.5.0/lib/netstandard1.6/diff/4.3.4/

Roman
18.07.2018
16:53:19
Pavel
19.07.2018
06:11:41
если нужно изобразить хендл на результат _уже запщенного_ процесса, стоит использовать Task или можно как-то Async использовать?

Vasily
19.07.2018
06:18:24
А уже запущенный что возвращает?

Pavel
19.07.2018
06:24:58
значение DU

и есть ли какой-то аналог TaskCompletionSource на асинках?

Ayrat
19.07.2018
06:27:42
Сам Async и есть результат.

Pavel
19.07.2018
06:28:43
асинк надо стартовать, у меня же процесс начинается при вызове функции, или я не прав?

Ayrat
19.07.2018
06:28:44
Делать через Async.Start и внешний шаред мутабл ресурс это уаще не очень и что-то не так с кодом имхо

асинк надо стартовать, у меня же процесс начинается при вызове функции, или я не прав?
А F# нет понятия асинхронной функции как в с# и она не стартует при вызове.

Где нужен результат, там делаем let! Или Runsyncronously

Pavel
19.07.2018
06:30:40
если подробнее описывать ситуацию, то происходит передача сообщения на другой узел, результат — появление ответного сообщения с данными (на которые я и хочу отдать хендл клиенту при вызове функции)

я примерно представляю как это сделать через TaskCompletionSource, но тогда это будет таск, а не асинк

Ayrat
19.07.2018
06:32:00
Ну так сделай async воркфлоу где будет получение запроса от клиента, отправка в сторонний сервис и потом отдача результата клиенту

Pavel
19.07.2018
06:33:18
всё общение между узлами построено на мейлбоксах, и request-response сообщениях

т.е. нет одного воркфлоу (и, похоже, в конкретно моём случае, не может быть)

Ayrat
19.07.2018
06:34:17
да ну нет конечно же, всё возможно у тебя есть мейлбокс клиента

почему нельзя сделать в одном async блоке вызов стороннего сервиса и отправка результата в мейлбокс клиента

клиент при этом, если всё общение идёт через мейлбоксы, вообще не должен ждать ответа

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