Closed kmyk closed 2 years ago
a == b
true
0
a - b == 0
f
f(a) - f(b) == 0
nil == cons(x, xs)
false
cons(x, xs) == cons(y, ys)
x == y && xs == ys
a == true
a
a == false
not a
@hotman78 いきなり FFT とかはしんどいと思うので、まずはこの最適化をやってみてほしい
Equal' t a b
t
https://github.com/kmyk/Jikka/blob/13accbadd4aeb7ce49e76742a8f89fd960b0c261/src/Jikka/Core/Convert/ConstantFolding.hs#L182-L207
ありがとうございます。 早速始めてみようと思います。
a == b
をtrue
にする0
にする。つまりa == b
をa - b == 0
にするf
であって単射なものについてf(a) - f(b) == 0
をa - b == 0
にするnil == cons(x, xs)
をfalse
にcons(x, xs) == cons(y, ys)
をx == y && xs == ys
に展開するa == true
をa
にa == false
をnot a
に