1676
https://combot.org/chat/-1001043143583 Ссылки на полезные ресурсы: https://ruhaskell.org/links.html ; Информация о мероприятиях: https://gist.github.com/qnikst/a96cac661be80d126d0829f2ced1916e
В общем мне кажется что идея Димы отличная, а дальше эту утилиту можно вставить в свой workflow по разному, хоть плагином в IDE, хоть оберткой через TH, хоть конвертатором из сгенерированного кода на Haskell в Lisp
Читать полностью…
Ладно, на ТН тоже можно создать новые модули, но боюсь сборка проекта развалится и надо будет пару раз делать
Читать полностью…
А ещё утилита сможет создать структуру и пачку модулей, а не дописать код в один
Читать полностью…
Мне не очень понятно зачем все колонки дублировать и в списке, и в декларации типа данных
Читать полностью…
Ну ладно, это я ужаснулся думая про свои процессы сборки наверное
Читать полностью…
Писать ручками надо типы со спекой, из которых генерация потом идет. При том что SSoT в схеме СУБД
Читать полностью…
О, точно! Там чел похоже открыл для себя генеративный ии контент и генерит странные видосы с нереальной скоростью. Убрал его фид из конфига
Читать полностью…
Я перетащил проект с 9.6 на 9.10 и он стал потреблять меньше памяти (-5-10%) и сильно больше цпу (+25-40%). Может есть уже какие-то характерные эвристики, как с этим бороться? Типа добавить/убавить какие-то флаги оптимизации, больше писать INLINE вот это все
Читать полностью…
Типо чтобы типы данных могли не совпадать с таблицами?
Читать полностью…
В рекорде можно убрать поле или поменять тип и запрос с энкодером и маппером перегенерируется
Читать полностью…
Но зачем пара функций на ТН, если утилиту написать проще и быстрее?
Читать полностью…
UX будет ужасен - каждому в пайплайн сборки придется затягивать работающую СУБД с миграциями
Читать полностью…
А это уже существующая либа какая-то или ты свою пишешь?
Читать полностью…
Да
type ExampleCols =Читать полностью…
'[ Column "a1" Int32
, Column "a2" ChString
, Column "a3" (DateTime "")
]
data ExampleData = MkExampleData
{ a1 :: Int32
, a2 :: ChString
, a3 :: UInt32
}
deriving (Generic, ClickHaskell ExampleCols)
insertQuery :: Insert ExampleCols ExampleData
insertQuery = intoTable @"exampleTable" @ExampleCols @ExampleData
main :: IO ()
main = do
connection <- openConnection defaultConnectionArgs
insert insertQuery connection []
ну, у этого сценария есть пользователи. почему бы нет? хотя бы для начального написания кода под уже живую БД.
в C# это распространённая практика
А, типо в динамике у изначально меняется не хаскельный код, а сама схема в живой таблице?
Читать полностью…
А нет, nevermind, там проблема гораздо интереснее, она в том, как метрики считаются
Читать полностью…