@Fsharp_chat

Страница 463 из 772
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
есть в ionide фишка чтобы я мог нюгет пакет "добавить" в fsx?
всмысле загрузить на использование?

Денис
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 под рукой

Daniel
31.01.2018
12:45:30
можно ещё generate_load_scripts: true в paket.dependencies прописать и второй шаг станет не нужен)

Денис
31.01.2018
12:47:36
1. paket install 2. paket generate-load-scripts 3. #load generated_script.fsx
Крутяк, 3 надо всегда руками прописывать?

A64m
31.01.2018
12:47:58
а есть в нем какой-нибудь packet repl - чтоб сразу окно репла в который все загружено получить?

Daniel
31.01.2018
12:48:11
Крутяк, 3 надо всегда руками прописывать?
да, но это не так больно по сравнению с ручной загрузкой dll'ок

Григорий
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
Люди, а кому интересно купить https://pragprog.com/book/swdddf/domain-modeling-made-functional ? Там вроде как-то можно сэкономить 40%
если кому-то надо я тож могу инвайт кинуть, только мне пишет 30% =) и это наверно на любую покупку у них

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
Привет как дела
Ровно. Сам как? Программируешь на F#?

[Anonymous]
31.01.2018
18:49:35
Что программа нужно ?

Dmitry
31.01.2018
18:53:02
Ровно. Сам как? Программируешь на F#?
что-то мне кажется, это нейронка (и внутри у ней неонка)

Anna
31.01.2018
18:53:59
Dmitry
31.01.2018
18:54:34
таки забрёл настоящий бот?
ну у меня в соседнем чате есть бот Фридрих - он примерно так общается

[Anonymous]
31.01.2018
18:54:57
таки забрёл настоящий бот?
Приветик красотка ??

Anna
31.01.2018
18:56:46
@fvnever ?!
Наш Фридрих общается как-то не так :)

Dmitry
31.01.2018
18:57:23
Я знал!
LOL, не, @friedrich_bot - можете попробовать если не боитесь

Andrew
31.01.2018
18:57:34
Может чел забрел не туда просто, а вы тут высокие технологии в нем пытаетесь найти

Evgeniy
31.01.2018
18:57:46
Приветик красотка ??
Ладно, дружище, у нас тут чат по программирование. Ты ошибся немного. ;)

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 у меня есть код ленс, вывод типов и т.д. Но в веб-интерфейсе репозитория всего этого нет, в итоге человек, который делает ревью обречён на страдания. Отсюда вопрос, что тут можно сделать? Идея вручную аннотировать всё что можно - ну такое. Мне пришло в голову только написать тулзу, которая добавляет сигнатуру функции в комментарий к ней, но то же не очень. Как быть?

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 ревью пожалуйста

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
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 ревью пожалуйста
а что тут ревьюить? ревьюится обычно бизнес-логика, какие-то ляпы, как тут типы могут помочь, непонятно) я бы сказал что в этом коде как раз очень хорошо что их нет, было бы менее читаемо

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
?

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