明示型付きの項に対応していないので、次のようなプログラム (tysigtem.hs) でエラーする。
main = print (512 :: Int)
現象:
./tcheck testcases/tysigterm.hs # 1. test-compile source file: testcases/tysigterm.hs dst dir: /tysigterm doCompile ... done. implicitPrelude ... done. doCompile ... bunnyc: Non-exhaustive patterns in renExp: ExpWithTySig (LitExp (LitInteger 512 (1,15))) (Nothing,Tycon (Name {origName = "Int", namePos = (1,22), isConName = True})) CallStack (from HasCallStack): error, called at src/Rename.hs:668:12 in main:Rename
foo :: tysig は、Rename (型推論の前) に、 次のような let 式に変換してやればよいと思われる。
let x :: tysig x = foo in x
上記方針通りに実装、クローズ。
tysigterm.hs は sample172 とした。