haskell-core-semantics
haskell-core-semantics copied to clipboard
Add primitive equality using K `Bool`s
It might be a while until we implement a neat solution for equality that captures precisely what's going on in Haskell. Until then, let's implement a primitive equality using the built-in K things so that we can start executing more interesting programs.
@lucaspena I started working on equality using ==K
as we discussed on Friday. Any chance you can take a look at 9587285ee6ac1278eb6a52ce3f7c30c89ac24abc (if you have time)? For some reason, I couldn't communicate to K that True
in name(True)
is an HsId
. There probably is an easy fix though.
Hm, I'm not too sure the cause of the issue, but I pushed up at least a temporary fix. Basically my guess is it has to do with some behavior not playing nice with the regular expression for HsId
, so I just added explicit syntax for True
and False
. I didn't spend too much time trying to debug it though, so like you said there may be a much easier fix. We can talk about it more tomorrow, but this should suffice for now.