From 1f985159c3ca5d15a2229a495b2c15a5a1af2dd6 Mon Sep 17 00:00:00 2001
From: Marvin Borner
Date: Fri, 25 Aug 2023 13:39:04 +0200
Subject: Added De Bruijn numerals

---
 src/Helper.hs | 8 ++++++++
 1 file changed, 8 insertions(+)

(limited to 'src/Helper.hs')

diff --git a/src/Helper.hs b/src/Helper.hs
index 2b2e31c..f760597 100644
--- a/src/Helper.hs
+++ b/src/Helper.hs
@@ -328,6 +328,14 @@ decimalToUnary n | n < 0     = decimalToUnary 0
   gen 0  = Bruijn 0
   gen n' = Application (Bruijn 1) (gen (n' - 1))
 
+-- Decimal to De Bruijn encoding
+decimalToDeBruijn :: Integer -> Expression
+decimalToDeBruijn n | n < 0     = decimalToDeBruijn 0
+                    | otherwise = gen n
+ where
+  gen 0  = Abstraction $ Bruijn $ fromInteger n
+  gen n' = Abstraction $ gen (n' - 1)
+
 unaryToDecimal :: Expression -> Maybe String
 unaryToDecimal e = do
   res <- resolve e
-- 
cgit v1.2.3