@Fsharp_chat

Страница 566 из 772
Vasily
04.05.2018
18:44:55
Evgeniy
05.05.2018
05:19:43
Vasily Это все потому, что в Ionide не работает автокомплит для цепочек вызовов через точку. ? https://twitter.com/kot_2010/status/992475096269971456

Vasily А можно ли сделать лучше? Например, отсортировать список автокомплита и поднять кастомные операции повыше. Будет отдаленно похоже на автокомплит в OCaml для local open.



Google
Vasily
05.05.2018
08:08:15
:)

щас еще фикс добавлю и будет вообще хорошо

есть

комплишен - самое жуткое место в серсисе. Хак на хаке. Прям кошмар.

Evgeniy
05.05.2018
08:13:13
комплишен - самое жуткое место в серсисе. Хак на хаке. Прям кошмар.
Ну, любую проблему можно решить дополнительным флажком. :)

Vasily
05.05.2018
08:13:31
:)

ну а шо делать

оно ищет nenv влево

зачем? я так и не понял

"as rich"

очень странная логика

Friedrich
05.05.2018
12:28:38
https://blog.nojaf.com/2018/05/03/fantomas-rejuvenated/

Google
Igor
05.05.2018
13:06:54
? шикардос

Evgeniy
05.05.2018
13:53:39
Опа!

https://twitter.com/dsyme/status/992762409810059265

Friedrich
05.05.2018
13:58:26
Голосовалка!

Vlad
05.05.2018
14:16:42
Голосовалка!
Мне интересно как он все задачи отслеживает и возвращается к ним. Куча всего же

Evgeniy
05.05.2018
14:20:32
Мне интересно как он все задачи отслеживает и возвращается к ним. Куча всего же
Мне кажется, никак. :) Скорее всего возникла необходимость в собственном коде.

Нужно напоминать чаще. Как это было с провайдерами типов под неткором.

Голосовалка!
Нейминг -- это сложно. :(

Vlad
05.05.2018
14:49:21
Vasily
05.05.2018
15:22:19
Maybe = Just | Nothing :)

по аналогии с Choice / Result

Friedrich
05.05.2018
15:24:05
Ох блин, это перебор %)

?‍?
05.05.2018
16:26:55
Почитай про computation expressions
Не могу найти нормальный пример с [<CustomOperation("add")>], как определить такой метод и как его правильно использовать. Допустим, есть билдер1, внутри него надо запускать другие билдеры2, так, чтобы резутаты собирались в (например) список (типа внутри билдера1), а когда будет return из билдера1, то не нужно будет передавать как параметр этот список. fsharpforfunandprofit обошел вопрос стороной.

Evgeniy
05.05.2018
16:46:22
Опять билдеры. :(

?‍?
05.05.2018
16:54:20
У тебя в кастомной операции всегда больше одного параметра. Первым идёт контекст, дальше параметры операции
На первую пробу так и кажется, но вызвать кастом не получается. Нет примеров как это делается. https://github.com/search?l=F%23&q=CustomOperation&type=Code

Vasily
05.05.2018
16:56:38
Дай человеку пример.
Я пока в Африке

Evgeniy
05.05.2018
16:57:22
Ок.

@yerumaku Держи. https://github.com/flashcurd/NugetDsl

Google
Vasily
05.05.2018
17:25:07
Ну на выходе билдера будет запись

Evgeniy
05.05.2018
17:32:58
> Squeezing More Out of the F# Type System – Introducing Crates https://www.gresearch.co.uk/2018/04/05/introducing-crates

Странное название статьи, но там про existential types encoding.

?‍?
05.05.2018
18:21:51
Ну на выходе билдера будет запись
Что не удобно в моём текущем случае. Так и не нашел нормальных Custom+Return.



Vasily
05.05.2018
18:23:08
Ну дык не надо туда кортеж передавать

И add в данном случае тоже лучше делать билдером

Ну или на вход должен быть список

Для add [button...]

Vasily
05.05.2018
19:06:37
Ну тут что тебе удобнее

Можешь билдер

Можешь массив

С билдером будут фигурные скобки

Кому-то больше нравится, чем квадратные

Sergey
05.05.2018
19:33:35
@VagifAbilov, расскажи! https://twitter.com/Thoriumi/status/992064143128776704
а что интересно? я в общих чертах вкурсе мы обсуждали много на F# Exchange что невозможность компилировать код оффлайн с TPами всех напрягает и пару вариантов как можно было бы это запилить… сейчас внутри должно быть сохранение ProvidedTypes на диск\кеш и переиспользование их когда нету коннекшена во время компиляции.

Google
Sergey
06.05.2018
05:44:27
А как это делается? Просто сохраняется разобранная ранее схема?
вроде как нет, сохраняются сами Provided Types а потом только возвращаются (если реализация не поменялась) Дон нам сказал что ничего не должно мешять чтобы их шарить между запусками но в SQLProvider еще интереснее, они не хотели сохранять всю схему, потому что база в теории большая может быть и сам TP оч ленивый и типы догенериваются по надобности только, так вот сохранение должно быть только типов той части схемы которая используется в коде и была запрошено у TP

Friedrich
06.05.2018
09:34:35
Поиграл с C#-декомпилятором, заставил его нарисовать мне статический класс с инстансным методом: https://sharplab.io/#v2:DYLgZgzgPg9gDgUwHYAIDKBPCAXBBbAWACgBtAHgEEAjHAJwEMBjbAYWHoggD4BdFctAnrAEAE17FsGRChYAKAJQoAvMRTqUOetgCWjFHnxUEtFAFlFKlIrUbDeY6YD6TgHQBJJFqSMEl5dYKQA=

Andrew
06.05.2018
10:54:18
Поиграл с декомпилятором, выиграл

Andrew
06.05.2018
11:13:01
Всем привет Подскажите, какой лучше подойдет подход при разработке на Giraffe? На обычном ASP.NET Core обычно применяю N-tier или Onion, а тут как лучше? Или следовать тем же принципам?

И еще, как указать явный тип у let! someLet ?



А, я понял, надо было task вместо async, забыл что это фшарповская штука

Klei
06.05.2018
12:29:59
Кто-нибудь знает, как в Giraffe кошерно провернуть подобное?: routef "/%i/command" (*магия*) bindJson<Сommand> (fun id cmd -> ...)

Vasily
06.05.2018
12:38:56
Andrew let! (x: int) = ...

Andrew
06.05.2018
12:39:21
Да, я уже понял свой косяк

Vasily
06.05.2018
12:40:25
если ты будешь применять OOP, то зачем F#?

если нет, то покажи плиз, как ты будешь реализовывать Onion

Andrew
06.05.2018
12:46:42
Нет, я хочу именно на F#

И хочу на жирафе

Google
Andrew
06.05.2018
12:46:52
Вот и спрашиваю как лучше

Vladimir
06.05.2018
14:31:19
Вот и спрашиваю как лучше
Делай как получается) У нас тут pit of success

Могу посоветовать забыть про репозитории и мыслить в контексте функций. Общие куски выделяешь, а остальные дробишь как надо.

Vladimir
06.05.2018
14:38:05
у тебя все зависимости в итоге должны оказаться в параметрах функций. Чтобы их постоянно не передавать, тебе захочется сделать partial application.

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

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

но я для себя пошел путем микросервисов, в итоге в каждом сервисе слишком много зависимостей уже не будет

Vasily
06.05.2018
15:26:25
free monad и интерпретировать её :)

я сильно сомневаюсь, что можно потрировать, например, scalaz 8 effects (IO)

Vasily
06.05.2018
15:47:23
http://degoes.net/articles/effects-without-transformers

только не спрашивай, что это и зачем - сам еще не читал ? Но по ощущениям, это что-то типа free monad что-ли. Хотя надо всё же почитать.

Evgeniy
06.05.2018
15:51:04
Ок.

Эффекты — это интересная тема.

Igor
06.05.2018
15:54:13
http://degoes.net/articles/effects-without-transformers
Оу, John De Goes - два белковых коктеля ценителю ? (крутой мужик во всех смыслах)))

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