2026-02-11 18:11:00 +00:00

21 lines
670 B
Haskell

{-# HLINT ignore "Redundant flip" #-}
{-# LANGUAGE ImportQualifiedPost #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# OPTIONS_GHC -Wno-unrecognised-pragmas #-}
module Utility.Utility where
import Control.Exception.Base
import Data.List
import Data.Maybe
import Data.Set qualified as Set
import Data.Text (Text)
import Datalog.DatalogParser (Head (HeadSingle), Literal (..), Statement (..), Term (..), parseDatalog)
import Datalog.DatalogDB
import qualified Data.Map as Map
-- All functions from domain to codomain
allMaps :: Ord a => [a] -> [b] -> [Map.Map a b]
allMaps [] _ = [Map.empty]
allMaps (x:xs) cod = [ Map.insert x y m | y <- cod, m <- allMaps xs cod ]