kframework / haskell-core-semantics

Haskell's Core in K.
Other
20 stars 0 forks source link

Add primitive equality using K `Bool`s #10

Open ayberkt opened 7 years ago

ayberkt commented 7 years ago

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.

ayberkt commented 7 years ago

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

lucaspena commented 7 years ago

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.