|
|
|
@ -27,7 +27,7 @@ toArg (Str s) = return $ Just $ toS s
|
|
|
|
|
toArg (Num i) = return . Just . toS . show $ i
|
|
|
|
|
toArg (Stream (Just h)) = lift $ fmap (Just . Text.strip .toS) (hGetContents h)
|
|
|
|
|
toArg (List xs) = do
|
|
|
|
|
strs <- traverse toArg (map unFix xs)
|
|
|
|
|
strs <- traverse (toArg . unFix) xs
|
|
|
|
|
return (Just ("["<> Text.intercalate " " (catMaybes strs) <> "]"))
|
|
|
|
|
toArg _ = return Nothing
|
|
|
|
|
|
|
|
|
@ -230,8 +230,8 @@ consCmd _ _ = return Void
|
|
|
|
|
|
|
|
|
|
equal :: Command
|
|
|
|
|
equal r [List xs,List ys] = do
|
|
|
|
|
reducedListX <- traverse r (map unFix xs)
|
|
|
|
|
reducedListY <- traverse r (map unFix ys)
|
|
|
|
|
reducedListX <- traverse (r . unFix) xs
|
|
|
|
|
reducedListY <- traverse (r . unFix) ys
|
|
|
|
|
return (Bool (reducedListX == reducedListY))
|
|
|
|
|
equal r [x,y] = do
|
|
|
|
|
reducedX <- r x
|
|
|
|
|