summaryrefslogtreecommitdiff
path: root/src/SenateTypes.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/SenateTypes.hs')
-rw-r--r--src/SenateTypes.hs42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/SenateTypes.hs b/src/SenateTypes.hs
new file mode 100644
index 0000000..764e733
--- /dev/null
+++ b/src/SenateTypes.hs
@@ -0,0 +1,42 @@
+module SenateTypes(
+ Ranking,
+ Position,
+ CandidateID,
+ AbovePreferences,
+ BelowPreferences,
+ FullPreferences,
+ UpperMap,
+ LowerMap,
+ Trace
+ ) where
+
+
+
+-- fairly obvious, rankings, positions and candidateIDs are all numbers
+type Ranking = Int
+type Position = Int
+type CandidateID = String
+
+
+
+type AbovePreferences = [(Position,Ranking)]
+type BelowPreferences = [(Position,Ranking)]
+type FullPreferences = (AbovePreferences,BelowPreferences)
+
+
+
+-- positions in the uppermap list correspond to the boxes above the line,
+-- and the lists of candidateIDs are the boxes below the line
+type UpperMap = [[Position]]
+
+
+
+-- a list of candidates in the order of how they were placed below the line
+type LowerMap = [CandidateID]
+
+
+
+-- represents a criteria used for finding ballots that voted a specific
+-- way, for example voted for candidate C as #1, candidate F as #2, etc
+type Trace = [(Ranking,CandidateID)]
+