From f91c0bf56ba1ed979266d4e32937dcab48d7030e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Mon, 18 Mar 2019 18:44:04 +0100 Subject: Add equal? instance to . --- monad/optional.scm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/monad/optional.scm b/monad/optional.scm index 1aa1e92..015fc90 100644 --- a/monad/optional.scm +++ b/monad/optional.scm @@ -51,3 +51,10 @@ the value embedded in maybe-val" (($ slot) (proc slot)))))) (define-method (return (a )) just) + +(define-method (equal? (a ) + (b )) + (or (and (nothing? a) (nothing? b)) + (from-just #f (do aa <- a + bb <- b + (just (equal? aa bb)))))) -- cgit v1.2.3