CakeML/cakeml

Reduce GiveUps in data_to_word

開放

#186 建立於 2016年11月26日

 (1 則留言) (0 個反應) (0 位負責人)Standard ML (98 個分叉)auto 404
good first issuehelp wantedlow effortmedium reward

倉庫指標

星標
 (1,169 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

Some of the GiveUps in data_to_word could be compiler failures rather than generating code that aborts at runtime. This is better for the user since the failure is caught earlier. However, it requires making the compiler able to fail (CompileError) at data_to_word. For example, Cons tag becomes GiveUp if tag < dimword (:'a) DIV 16 which is decidable at compile time.

(An alternative hack, maybe, is to produce code that will produce an encoding error in asm (i.e., a jump that's too big). Probably too hard and hacky.)

貢獻者指南