@Fsharp_chat

Страница 142 из 772
Roman
19.05.2017
07:48:38
Http не работает)
Попробуй хмл Провайдер

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

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
@neftedollar https://giacomociti.github.io/FSharp.Data.Xsd/
Мб ты ещё и для Json schema знаешь? (Я до душа в Гугл не хожу))

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
А в fable тайппровайднры работают? Я знаю что клиент для graphQL,вроде, является тайппровайдером и работает
вроде как да. И не только графКуЭль, ещё и регуляри например https://www.npmjs.com/package/fable-providers-regex

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

Google
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
то, что ты написал, напоминает типичный кэйс для парсер-комбинаторов
Заметь, у меня там во втором примере доступ к переменной x из окружения

Т.е. это должна быть именно фича компилятора.

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

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 рулит)

Friedrich
19.05.2017
09:07:42
@fvnever Какие, например, нужны?
Нужны следующие паттерны: - sql-подзапрос - имя таблицы / алиас - параметр (будем их дальше типизировать или нет?)

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

У нас есть query и iqueriable это приятнее
Очень сложно их композировать, вплоть до невозможности.

Ну вот представь, что я хочу собрать запрос из трёх кусочков, которые в переменных лежат.

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

Google
Roman
19.05.2017
09:10:07
Ну вот представь, что я хочу собрать запрос из трёх кусочков, которые в переменных лежат.
У нас сейчас проект со строковыми запросами, и сборка запросов из кусочков строки это отвратительно и пнтипетарен по моему

Friedrich
19.05.2017
09:10:46
У нас сейчас проект со строковыми запросами, и сборка запросов из кусочков строки это отвратительно и пнтипетарен по моему
Проблема-то в том, что нету проверок ни в компилтайме, ни в рантайме. Если проверки есть — тогда всё ок.

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

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

Friedrich
19.05.2017
09:11:33
тесты написать не можно разве?
Это ты у Романа спроси :)

Roman
19.05.2017
09:11:45
Проблема-то в том, что нету проверок ни в компилтайме, ни в рантайме. Если проверки есть — тогда всё ок.
У нас есть sqlProvider который из строки берет и делает запрос нормальный и проверки делает и даже смотрит в бд верно или не верно указаны строки

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
Это ты у Романа спроси :)
я про то, что если SqlProvider где-то там не даёт стат. гарантий, не проблема же тестами покрыть

Roman
19.05.2017
09:13:19
Все запросы компилтаймовые, не композируется :(
И чем это плохо? Насчёт композиции я не понял. Ты говоришь о "query from my query"?

Friedrich
19.05.2017
09:14:07
И чем это плохо? Насчёт композиции я не понял. Ты говоришь о "query from my query"?
Я хочу несколько условий вынести, потому что они дофига комплексные, и использовать в нескольких запросах. Условные джойны хочу, условный order by.

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

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

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

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

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