Hacker News new | ask | show | jobs
by gottlobflegel 1043 days ago
Notice from the definition of `Term`

enum Term { Bool(bool), Not(Box<Term>), ... }

that your code simply does not typecheck. `Not` expects a `Box<Term>`, not a `Value`.

It's also worth noting that one would probably want to consider something like

Not(Not(Bool(true)))

a valid term, which your implementation wouldn't.

1 comments

Ah yep, my mistake. I’ve missed out on the recursive inner evaluation. Traits might work better here, but it’s not so obvious.

In any case, I stand by all the other points I’ve made in my comment.

You know how hard it is to take someone seriously after they embarrass themselves like that while also trying to bring somebody's code down, & ultimately being wrong?