
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