# 024: nodup0bx.hs で matchVarCon error: ([PWildcard],OtherExpression ... [↑up](bunny_notes) - issued: 2020-04-13 - 分類: A サンプルコードが fail - status: Closed (2020-05-15) ## 調査ログ ### 2020-04-20 src/Pattern.hs の isVar で ${isVar (PWildcard:_,_) = True} としてやれば いいかと思ったが、そういうわけではなさそう。 src/TrCore.hs の以下の部分は、パターンマッチ変換の結果生じる PWildcard ではなく、 ラムダ式の引数への対処かな。 $$
{
    rmWild [] as         = reverse as
    rmWild (([Ty.PWildcard], e'):als') as =
      rmWild als' (([Ty.PVar "_"], e'):as)
    rmWild (alt:als') as = rmWild als' (alt:as)
$$}

ということは、(\_ -> hoge) には対応しても、(\_ _ -> hoge) など、2引数以上のラムダには対応していないはず(あとで確かめよう)

testcases/pwild2.hs が通るのは、なんか、DefaultAltClause で特殊対応しているようだ。

pwild.hs は、なんかべつのエラーを踏んでいる。

## 2020-05-15

[035](bissue035), [034](bissue034) の対処によって、本件も解決、クローズ。

- nodup0bx : sample211
- pwild.hs : sample212
- pwild2.hs : 廃止(もともと通っていた)
- pwild3, 4, 5, 6: まとめてひとつのプログラムにして sapmle213