Zulip Chat Archive
Stream: general
Topic: equality function (bool)
Hunter Freyer (Sep 21 2020 at 21:08):
Hey, this seems pretty basic, but if I have a straightforward inductive datatype, how do I test for equality of two values in a way that returns a boolean? After lots of looking, I finally found that you can use @[derive decidable_eq]
to come close, but it still seems like there's a bit of gymnastics to get it to a bool, so I suspect I'm not doing it right.
Alex J. Best (Sep 21 2020 at 21:09):
@[derive decidable_eq]
inductive colours
| red
| blue
| green
#check to_bool (colours.red = colours.blue)
#eval to_bool (colours.red = colours.blue)
Hunter Freyer (Sep 21 2020 at 21:11):
yaaaay. It's so obvious when one is told how to do it :P
Hunter Freyer (Sep 21 2020 at 21:12):
I couldn't find documentation that describes derive, and I'm also struggling to find source for the standard libraries. Like, where does to_bool
live?
Bryan Gin-ge Chen (Sep 21 2020 at 21:14):
derive
sadly doesn't have good documentation yet (see #3533). To find the source, VS Code and emacs both should have a "go to definition" feature that you can use.
On zulip, we can also do this: docs#to_bool or src#to_bool
Hunter Freyer (Sep 21 2020 at 21:15):
womp womp, 404
Bryan Gin-ge Chen (Sep 21 2020 at 21:17):
This works: docs#decidable.to_bool / src#decidable.to_bool
Hunter Freyer (Sep 21 2020 at 21:17):
rad. Thanks for the help!
Last updated: Dec 20 2023 at 11:08 UTC