From 1ed998c025fb1a629a5724dfcbe9fdb8f48e948c Mon Sep 17 00:00:00 2001 From: William Ball Date: Wed, 11 Dec 2024 13:26:05 -0800 Subject: [PATCH] fixed minor bug in `dedupNames` --- lib/Expr.hs | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/lib/Expr.hs b/lib/Expr.hs index 0e15b49..1fbe6db 100644 --- a/lib/Expr.hs +++ b/lib/Expr.hs @@ -65,13 +65,16 @@ dedupNames :: Expr -> Expr dedupNames = go [] where varName :: [Text] -> Text -> Int -> Text - varName bs x k = case bs !!? k of - Nothing -> x - Just x' -> - let count = (length $ filter (== x') $ drop (k + 1) bs) - in if count > 0 - then x <> printLevel count - else x + varName bs x k = + if x == "" + then x + else case bs !!? k of + Nothing -> x + Just x' -> + let count = (length $ filter (== x') $ drop (k + 1) bs) + in if count > 0 + then x <> printLevel count + else x go :: [Text] -> Expr -> Expr go bs (Var x k) = Var (varName bs x (fromIntegral k)) k