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.)

贡献者指南