Troubles getting isA of ArrowIf from HXT 8.10 to work as expected

I'm attempting to use ifA to conditionalize generated XHTML. ifA (arr test_status >>> arr (/= "Running")) (mkelem "a" [attr "href" (arr test_log_URL >>> mkText)] [txt "log"]) (mkelem "a" [attr "href" (arr test_log_URL >>> mkText)] [txt "no log"]) The arrow type at the point of the ifA is (I think) "XmlArrow a => a XmlTree TestRun" where TestRun is defined as: data TestRun = TestRun { test_log_URL :: String, test_status :: String } The issue I'm seeing is that regardless of the predicate arrow the result is always the same: The XmlTree for the True branch is always generated. In other words, I get the same behavior using this code: ifA (arr (const False)) (mkelem "a" [attr "href" (arr test_log_URL >>> mkText)] [txt "log"]) (mkelem "a" [attr "href" (arr test_log_URL >>> mkText)] [txt "no log"]) Which, I thought, the "arr (const False)" would force the ifA to always descend the False path. This is my first attempt at using HXT and Arrows (Which is otherwise going great!) so I figure I'm missing something. Any ideas? Cheers, Corey O'Connor
participants (1)
-
Corey O'Connor