CakeML/cakeml

Remove mapPartial from mllist

开放

#1,449 创建于 2026年8月12日

 (0 条评论) (0 个反应) (0 位负责人)Standard ML (98 个派生)auto 404
good first issuelow effort

仓库指标

星标
 (1,169 个星标)
PR 合并指标
 (PR 指标待抓取)

描述

It seems that mllist redefines mapPartial which already exists in list:

listTheory.mapPartial_def;
val it =
   ⊢ (∀f. mapPartial f [] = []) ∧
     ∀f x xs.
       mapPartial f (x::xs) =
       case f x of NONE => mapPartial f xs | SOME y => y::mapPartial f xs:
   thm
> mllistTheory.mapPartial_def;
val it =
   ⊢ (∀f. mapPartial f [] = []) ∧
     ∀f h t.
       mapPartial f (h::t) =
       case f h of NONE => mapPartial f t | SOME x => x::mapPartial f t: thm

I ran into this issue after spending some time not understanding why mapPartial_def is not doing anything as I had an mllist as my ancestors.

I suspect the fix is basically as simple as just deleting the definition, with perhaps minor changes required here and there.

贡献者指南