18 lines
380 B
Haskell
18 lines
380 B
Haskell
|
|
{-# LANGUAGE OverloadedStrings #-}
|
||
|
|
{-# LANGUAGE TypeApplications #-}
|
||
|
|
{-# OPTIONS_GHC -Wno-unrecognised-pragmas #-}
|
||
|
|
|
||
|
|
{-# HLINT ignore "Redundant flip" #-}
|
||
|
|
module Datalog.NaiveDatabase where
|
||
|
|
|
||
|
|
import Data.Map (Map)
|
||
|
|
import Data.Set (Set)
|
||
|
|
|
||
|
|
data Value =
|
||
|
|
ValueInt Int |
|
||
|
|
ValueSymbol String
|
||
|
|
|
||
|
|
data NaiveDatabase = NaiveDatabase {
|
||
|
|
relations :: Map String Int,
|
||
|
|
values :: Set Value
|
||
|
|
}
|