
Roman
19.05.2017
07:48:38

Evgeniy
19.05.2017
07:48:43
@neftedollar https://giacomociti.github.io/FSharp.Data.Xsd/

Roman
19.05.2017
07:48:44

Google

Evgeniy
19.05.2017
07:49:10
@Dolfik Пакет установил? %)

Artemy
19.05.2017
07:49:15
М.б. ссылка на сборку не добавлена? ?

Nikolay
19.05.2017
07:49:21
Лол
Установил из NuGet FSharp.Data, заработало :D

Artemy
19.05.2017
07:49:44
Интересное решение

Nikolay
19.05.2017
07:49:45
Я думал он по дефолту идет -_-

Roman
19.05.2017
07:49:57

Evgeniy
19.05.2017
07:50:15
@neftedollar Не знаю. :)

Roman
19.05.2017
07:51:36
А в fable тайппровайднры работают? Я знаю что клиент для graphQL,вроде, является тайппровайдером и работает

Evgeniy
19.05.2017
07:53:18
@neftedollar Только совместимые с Fable.

Pawel
19.05.2017
07:54:52

Evgeniy
19.05.2017
07:56:55
@ZelAnton Пожалуйте.

Google

Roman
19.05.2017
08:04:30
Привет

Nikolay
19.05.2017
08:26:20
А вывод printf можно в файл сохранить?)

Ilya
19.05.2017
08:28:50
как вариант прост перенаправить вывод в файл или использовать sprintf и писать строчку напрямую в файл.

Nikolay
19.05.2017
08:30:00
Мне нужно сохранить вывод printf если возникло исключение

Ilya
19.05.2017
08:31:13
let s = sprintf "%s" ex.Message
File.AppendAllText("file.txt", s)
как-то так?
или кто-то за тебя на консоль пишет этот эксепшен?

Nikolay
19.05.2017
08:31:45
Ну вообще да, но это как-то не очень
Хотелось бы что-то типа Console.SetOut

Evgeniy
19.05.2017
08:33:03
@Dolfik Я не совсем понял, что тебе нужно. Но есть функция fprintf, которая в TextWriter пишет.

Ilya
19.05.2017
08:33:24
Мне наоборот кажется, что вот этот SetOut не очень. Выставляешь какую-то магическую статическую переменную, вместо того, чтобы делать напрямую.

Nikolay
19.05.2017
08:34:46
Мне не нужно писать в файл всегда
Мне нужно писать в файл лог программы, если возникло исключение
Исключение я сам обрабатываю

Evgeniy
19.05.2017
08:35:57
@Dolfik С помощью fprintf ты можешь или в файл писать, или в консоль.
Зависит от того, какой TextWriter передаешь.

Roman
19.05.2017
08:42:01
Крутотень!
FsCheck 2.9.0 is released with .NET Standard 1.6 support.
https://github.com/fscheck/FsCheck/releases/tag/2.9.0

Evgeniy
19.05.2017
08:54:20
@fvnever По поводу собственных реализаций printf-like функций. https://github.com/vbfox/MasterOfFoo

Friedrich
19.05.2017
08:54:41
А я смотрел этот репозиторий, и читал в нём огромный список ограничений :(

Google

Evgeniy
19.05.2017
08:55:49
@fvnever А что бы ты хотел изменить? Компиляцию строки в PrintfFormat? Она захардкожена в компиляторе.

Friedrich
19.05.2017
08:56:08
Да, это бы и хотел изменить.

Evgeniy
19.05.2017
08:56:26
@fvnever Это никакими хаками не изменить.

Friedrich
19.05.2017
08:56:33
Перепишите!

Evgeniy
19.05.2017
08:56:33
Или ты знаешь больше?

Friedrich
19.05.2017
08:57:10
Нет же, я не знаю других хаков, и поэтому состоянием PrintFormat и опечален. Пока что у нас нету таких хороших строковых интерполяторов, как в Scala, и на сегодняшнем F# их не сделать.
Без этого можно жить, но самые симпатичные (на мой взгляд) реализации ORM, типа ScalikeJDBC, для нас в полной мере не могут быть доступны.

Evgeniy
19.05.2017
08:57:50
@fvnever Почему?
В чем проблема?

Friedrich
19.05.2017
08:58:12
Вот это и есть проблема.

Evgeniy
19.05.2017
08:58:25
Нет, Давай конкретный список проблем.

Evgeniy
19.05.2017
08:59:26
Все, что делает компилятор, преобразует строку в PrintfFormat согласно описанным правилам. Дальше мы что угодно можем делать.

Pawel
19.05.2017
08:59:34
@fvnever мне тоже интересно. Сформулируй список своих претензий к PriintfFormat

Vasily
19.05.2017
09:00:26
Жирафу можно на селф хост посадить?

Friedrich
19.05.2017
09:00:29
Ок, вот он:
- хочу синтаксис для строковой интерполяции, а-ля $"aaa {2+2}" ⇒ "aaa 4"
- хочу пользовательские интерполяторы, а-ля sql$"select * from users where id = {x}" ⇒ Query("select * from users where id = @id", ["id", x])

Evgeniy
19.05.2017
09:01:06
@fvnever Почему мы не можем сделать аналог SсalikeJDBC без интерполяции?
На обычных printf-like функциях.

Pawel
19.05.2017
09:02:00
а что такое строковая интерполяция? вывод типа из строки или просто результат вычислений DSL ?
то, что ты написал, напоминает типичный кэйс для парсер-комбинаторов

Google

Pawel
19.05.2017
09:02:51
а не для printf

Friedrich
19.05.2017
09:03:05
Т.е. это должна быть именно фича компилятора.

Evgeniy
19.05.2017
09:03:57
@fvnever Какие, например, нужны?

Igor
19.05.2017
09:05:15

Friedrich
19.05.2017
09:05:27
Ну и представь, как это будет ужасно выглядеть:
execute "select * from %t where %p and %p or %x = %z" "users" x y z w

Admin
ERROR: S client not available

Friedrich
19.05.2017
09:06:02
Вообще не читается.

Pawel
19.05.2017
09:06:28
я в скале полный ноль, по субъективным впечатлениям это наверное худший ЯП. Но если макросы - тогда точно нафиг нафиг

Friedrich
19.05.2017
09:06:36
(а композиция запросов — это важнейшая фича, в которой ScalikeJDBC рулит)

Roman
19.05.2017
09:06:53

Friedrich
19.05.2017
09:07:42

Roman
19.05.2017
09:08:20

Friedrich
19.05.2017
09:08:29
В общем, я могу быть неправ, но мне кажется, что по-настоящему классную штуку из PrintFormat не собрать.
Ну вот представь, что я хочу собрать запрос из трёх кусочков, которые в переменных лежат.

Roman
19.05.2017
09:09:16

Pawel
19.05.2017
09:10:03
SqlProvider умеет композицию запросов если что

Google

Roman
19.05.2017
09:10:07

Friedrich
19.05.2017
09:10:46
@gsomix слушай, я придумал! Давай на квотейшенах сделаем?

Pawel
19.05.2017
09:11:21

Evgeniy
19.05.2017
09:11:32
@fvnever С этим к Вадлеру. :)

Friedrich
19.05.2017
09:11:33

Roman
19.05.2017
09:11:45

Friedrich
19.05.2017
09:12:07

Evgeniy
19.05.2017
09:12:42
@fvnever https://www.youtube.com/watch?v=DlBwJ4rvz5c

Friedrich
19.05.2017
09:13:07
Тут проблема такая: люди хотят писать на SQL как на нормальном языке, перенося в коде кусочки запросов и композируя их по месту. Но, с другой стороны, склейка SQL-запросов в виде переменных — это неподдерживаемый ад.

Pawel
19.05.2017
09:13:08

Roman
19.05.2017
09:13:19

Friedrich
19.05.2017
09:14:07

Evgeniy
19.05.2017
09:14:34
@fvnever Ладно. Я еще подумаю, сейчас не успеваю за дискуссией.

Roman
19.05.2017
09:14:35

Evgeniy
19.05.2017
09:15:39
@fvnever Но видео посмотри как-нибудь. Там как раз про квотейшены и запросы.

Nikolay
19.05.2017
09:15:46
Как в printf записать строку?

Evgeniy
19.05.2017
09:16:02
@Dolfik Поясни.