dmytrish (dmytrish) wrote,
dmytrish
dmytrish

implicit typing woes

Про implicit typing:

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

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

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

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 1 comment