From 76b1b0ca2401495ec03ba2b6483091b52732eb81 Mon Sep 17 00:00:00 2001 From: Matthias Bisping Date: Tue, 7 Feb 2023 11:55:30 +0100 Subject: [PATCH] Refactoring --- .../image_extractor/extractors/parsable.py | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/image_prediction/image_extractor/extractors/parsable.py b/image_prediction/image_extractor/extractors/parsable.py index 75e1597..7ce3f6a 100644 --- a/image_prediction/image_extractor/extractors/parsable.py +++ b/image_prediction/image_extractor/extractors/parsable.py @@ -152,30 +152,27 @@ def make_eithered_image_metadata_pair(image: Either, metadata: Either) -> Either # a := Image # b := Metadata # c := ImageMetadataPair + # m := Either monad + # fmt: off # 1) - # return ( + # pair: Either = ( # Right(make_image_metadata_pair) # m (a -> b -> c) - # .amap(image) # m (a -> b -> c) $ m a = m (b -> c) - # .amap(metadata) # m (b -> c) $ m b = m c - # .either( - # left(context), - # right(identity), - # ) + # .amap(image) # m (a -> b -> c) <*> m a = m (b -> c) + # .amap(metadata) # m (b -> c) <*> m b = m c # ) # 2) - # return ( + # pair: Either = ( # image.bind(right(make_image_metadata_pair)) # m a >>= m (a -> b -> c) = m (b -> c) # .amap(metadata) # m (b -> c) <*> m b = m c - # .either( - # left(context), - # right(identity), - # ) # ) + # fmt: on - # Syntactic sugar variant: - return Either.apply(make_image_metadata_pair).to_arguments(image, metadata).either(left(context), right(identity)) + # Syntactic sugar variant with details hidden + pair: Either = Either.apply(make_image_metadata_pair).to_arguments(image, metadata) + + return pair.either(left(context), right(identity)) @curry(2)