?

Log in

No account? Create an account
Previous Entry —>другу Next Entry
implicit typing woes
root
dmytrish
Про implicit typing:

Писав на днях сервер на Happstack, а оскільки я тоді не додумався запускати ghci із :l Main.hs і дивитись типи обробників і таблиць маршрутизації (всі ці ServerPartT IO Response), то типові сигнатури я випускав, в результаті в мене вийшла програма на сотні три рядків практично без оголошень типів. Зручно? Можливо.

Але коли я в одному місці забув перед appendFile приписати liftIO, тайпчекер had gone wild: вирішивши, що тип серверних процедур це IO Response, він почав викидати абсурдні повідомлення про помилки на інших, коректних процедурах, не вказуючи на реальне джерело там, де був забутий liftIO.

Після цього я таки задумався, як з’ясувати дефолтний тип, який ховається за ServerMonad m, FilterMonad Response m, WebMonad та іншими констрейтами і написати явні типові анотації.

  • 1
Exactly. Я у себя в скале декларирую каждый раз, когда под вопросом.
Особенно меня раз порадовало Good[Bad[SomeShit]], которую я на тип не проверял, и вот думал, что все хорошо.

  • 1