Roman
31.01.2018
09:33:46
Fapper - a SQL generator for F# - fsharp
https://www.reddit.com/r/fsharp/comments/7u3yb3/fapper_a_sql_generator_for_f/?utm_source=reddit-android
Kirill
31.01.2018
09:57:34
смешное название
Vladimir
31.01.2018
10:00:47
мм выглядит неплохо
Google
Friedrich
31.01.2018
10:01:14
смешное название
Про это даже есть FAQ: https://github.com/vivainio/Fapper#whats-up-with-the-name
?
Vlad
31.01.2018
10:43:22
всразу встает вопрос, может ли он в разные диалекты
в mssql top 1, в оракл fetch first 1 row only
Vladimir
31.01.2018
11:00:19
https://github.com/vivainio/Fapper/blob/master/Fapper/SqlGen.fs
не может
Vasily
31.01.2018
12:02:42
Хммм... у меня таки почти завелась наркоманская тема http builder на фри монадах
Осталось понять, как кастомные операции прикрутить, чтобы не было всяких do! header "1" "2"
Igor
31.01.2018
12:37:51
Есть ли красивый способ превратить функцию
SomeType -> ‘a
в
Unit -> ‘a
если у меня есть экземпляр SomeType
Что-то типа “частичного применения”, но не совсем.
Денис
31.01.2018
12:39:00
есть в ionide фишка чтобы я мог нюгет пакет "добавить" в fsx?
Григорий
31.01.2018
12:39:57
Денис
31.01.2018
12:40:04
Ага
Григорий
31.01.2018
12:40:29
вроде только через #r
Денис
31.01.2018
12:41:03
Ну это понятно просто было бы круто типа какой то командой скачать нюгет и через #r добавить в открытый скрипт
Google
Григорий
31.01.2018
12:41:37
возможно paket так может
чтобы сейчас это проверить нету vs code под рукой
Friedrich
31.01.2018
12:42:31
Daniel
31.01.2018
12:45:30
можно ещё generate_load_scripts: true в paket.dependencies прописать и второй шаг станет не нужен)
Денис
31.01.2018
12:47:36
A64m
31.01.2018
12:47:58
а есть в нем какой-нибудь packet repl - чтоб сразу окно репла в который все загружено получить?
Daniel
31.01.2018
12:48:11
Григорий
31.01.2018
12:52:42
хотя в vs с этим все ок, даже в репл удобно грузить из зависимостей проекта
Daniel
31.01.2018
12:53:47
У меня основной юзкейс - папка со скриптами, в которой до кучи лежит paket.dependencies
Dmitry
31.01.2018
15:59:08
Люди, а кому интересно купить https://pragprog.com/book/swdddf/domain-modeling-made-functional ?
Там вроде как-то можно сэкономить 40%
https://twitter.com/PragmaticAndy/status/958730928087552000
Sergey
31.01.2018
18:32:23
Dmitry
31.01.2018
18:38:01
Evgeniy
31.01.2018
18:44:17
Привет.
[Anonymous]
31.01.2018
18:45:02
Google
Max
31.01.2018
18:45:14
Во все чаты разом ворвался
[Anonymous]
31.01.2018
18:45:37
Все откуда
Я паруски учился
????
Evgeniy
31.01.2018
18:48:38
[Anonymous]
31.01.2018
18:49:35
Что программа нужно ?
Dmitry
31.01.2018
18:53:02
Anna
31.01.2018
18:53:59
Dmitry
31.01.2018
18:54:34
[Anonymous]
31.01.2018
18:54:57
Evgeniy
31.01.2018
18:56:10
Я знал!
Anna
31.01.2018
18:56:46
Dmitry
31.01.2018
18:57:23
Я знал!
LOL, не, @friedrich_bot - можете попробовать если не боитесь
Andrew
31.01.2018
18:57:34
Может чел забрел не туда просто, а вы тут высокие технологии в нем пытаетесь найти
Evgeniy
31.01.2018
18:57:46
[Anonymous]
31.01.2018
18:58:09
Pauline
31.01.2018
19:00:59
?
[Anonymous]
31.01.2018
19:01:17
Google
Evgeniy
01.02.2018
04:42:53
Привет.
Fill
01.02.2018
07:33:16
Столкнулся тут с проблемой - вот сделал я проект на F#. В IDE у меня есть код ленс, вывод типов и т.д. Но в веб-интерфейсе репозитория всего этого нет, в итоге человек, который делает ревью обречён на страдания. Отсюда вопрос, что тут можно сделать? Идея вручную аннотировать всё что можно - ну такое. Мне пришло в голову только написать тулзу, которая добавляет сигнатуру функции в комментарий к ней, но то же не очень. Как быть?
Roman
01.02.2018
07:34:49
Vladimir
01.02.2018
07:35:50
Не делать ревью в браузере)
Fill
01.02.2018
07:35:56
надо, что бы любой чувак, который зашёл в репо видел, как всё устроено, не только тот, у которого есть экстеншн
Bonart
01.02.2018
07:36:40
Fill
01.02.2018
07:36:56
Bonart
01.02.2018
07:37:53
Внутренний код и без имен типов нормально читается
Fill
01.02.2018
07:38:30
Bonart
01.02.2018
07:38:33
Утверждение очень и очень спорное.
Проверено на личном опыте - в C# использую var везде, при чтении кода проблем не имею. Вывод типов тем и хорош, что позволяет сосредоточиться на главном, опустив второстепенное
Vladimir
01.02.2018
07:40:30
Fill
01.02.2018
07:40:45
т.е. я выдумал проблему?
Vladimir
01.02.2018
07:40:57
думаю да)
Fill
01.02.2018
07:41:36
let rec lifeCycle log stopped processGolem applyActionToState updateGolemState syncStates tact pulse state =
let golemStates, _= state
log state
tact()
match stopped() with
| true -> 0
| false ->
List.map ((updateGolemState state) >> (processGolem >> applyActionToState)) golemStates
|> List.reduce syncStates
|> pulse
|> lifeCycle log stopped processGolem applyActionToState updateGolemState syncStates tact pulse
ревью пожалуйста
Bonart
01.02.2018
07:41:38
Fill
01.02.2018
07:42:22
Короче, если я правильно понял, мне стоит аннотирровать то, что нельзя понять без аннотаций
Bonart
01.02.2018
07:43:05
Экспортируемое надо аннотировать - это контракт, там нужна совместимость
Google
Bonart
01.02.2018
07:43:20
А внутри надо писать код так, чтобы аннотации не были нужны - там нужна выразительность и гибкость
Та же идеология, что и с комментариями
Daniel
01.02.2018
07:43:33
Хм, а ведь сделано же как-то вот тут http://fsharp.github.io/FSharp.Data/library/HtmlProvider.html
правда, типы, экспортированые из провайдера выводятся в obj :)
Vladimir
01.02.2018
07:45:29
Fill
01.02.2018
07:45:39
@Bonart правильно ли я понял твой посыл:
если код не понятен без вывода типов, это плохой код
?
Bonart
01.02.2018
07:46:04
Именно так.
Fill
01.02.2018
07:46:49
Окей, я понял
Bonart
01.02.2018
07:47:25
Обычно рекомендуется избавляться от явной рекурсии
Fill
01.02.2018
07:47:42
?
Vladimir
01.02.2018
07:47:42