Size: a a a

2021 October 21

JS

Jerzy Syrowiecki in Haskell Start
дело в том, что из выражения selectList [] [] нельзя вывести тип записи и понять, к какой таблице обращаться
источник

AB

Anton Bogachev in Haskell Start
а как то можно объяснить компилятору какую entity я буду использовать? во всех примерах они дергают все нормально
и почему тогда selectList [TutorialTitle ==. "Basic Haskell"] [] работает? компилятор понимает что обращаюсь к tutorial
источник

AB

Anton Bogachev in Haskell Start
во всех примерах кода библиотеки есть выборка с пустой фильтрацией
источник

JS

Jerzy Syrowiecki in Haskell Start
попробуйте указать print (basic :: [Entity BlogPost]), например
источник

JS

Jerzy Syrowiecki in Haskell Start
TutorialTitle привязан к конкретному типу Tutorial
источник

AB

Anton Bogachev in Haskell Start
• Couldn't match expected type ‘[Entity Tutorial] -> IO t0’
                 with actual type ‘IO ()’
   • The function ‘print’ is applied to two arguments,
     but its type ‘(a0 -> IO ()) -> IO ()’ has only one
     In the second argument of ‘($)’, namely
       ‘print print (basic :: [Entity Tutorial])’
     In a stmt of a 'do' block:
       liftIO $ print print (basic :: [Entity Tutorial])
   • Relevant bindings include
       main :: IO t0 (bound at app/Main.hs:37:1)
  |
40 |     liftIO $ print print (basic :: [Entity Tutorial])
источник

JS

Jerzy Syrowiecki in Haskell Start
print print?
источник

AB

Anton Bogachev in Haskell Start
извиняюсь
профдеформация копирования и вствки
источник

AB

Anton Bogachev in Haskell Start
скомпилилось, работает!
источник

AB

Anton Bogachev in Haskell Start
спасибо за выделанное время!
источник

JS

Jerzy Syrowiecki in Haskell Start
не страшно, компилятор от таких ошибок защищает
источник

JS

Jerzy Syrowiecki in Haskell Start
ещё можно уточнять тип вот так

tutorials :: [Entity Tutorial] <- selectList [] []

или

tutorials <- selectList @Tutorial [] []

только потребуется включать фичи языка, к которым впрочем тоже надо сразу привыкать
источник

AB

Anton Bogachev in Haskell Start
ооо, это вообще то что я жду от haskell
что можно типизировать ответ
а как обработать через maybe что пришло что то не то?
источник

JS

Jerzy Syrowiecki in Haskell Start
а не может прийти не то. если данные в базе окажутся в неправильном виде, selectList выбросит исключение
источник

JS

Jerzy Syrowiecki in Haskell Start
от какой ошибки вы хотите защититься?
источник

AB

Anton Bogachev in Haskell Start
от ошибки не правильных данных в базе
источник

JS

Jerzy Syrowiecki in Haskell Start
ловите исключение при чтении. или не ловите. иногда уронить программу — тоже правильно
источник

JS

Jerzy Syrowiecki in Haskell Start
источник

JS

Jerzy Syrowiecki in Haskell Start
например, PersistMarshalError при ошибке декодирования данных из поля
источник

AB

Anton Bogachev in Haskell Start
Супер, спасибо :) буду копать дальше
источник