about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--scratch/brilliant/Keyboard.hs23
1 files changed, 23 insertions, 0 deletions
diff --git a/scratch/brilliant/Keyboard.hs b/scratch/brilliant/Keyboard.hs
new file mode 100644
index 000000000000..c5baaa5f2474
--- /dev/null
+++ b/scratch/brilliant/Keyboard.hs
@@ -0,0 +1,23 @@
+--------------------------------------------------------------------------------
+module Keyboard where
+--------------------------------------------------------------------------------
+import Utils
+import qualified Data.List as List
+--------------------------------------------------------------------------------
+
+newtype Keyboard = Keyboard [[Char]]
+
+instance Show Keyboard where
+  show (Keyboard xxs) =
+    xxs |> fmap printRow |> List.intercalate "\n"
+    where
+      printRow :: [Char] -> String
+      printRow xs =
+        xs |> fmap (\x -> '[':x:']':"") |> List.intercalate ""
+
+qwerty :: Keyboard
+qwerty = Keyboard [ ['1','2','3','4','5','6','7','8','9','0']
+                  , ['Q','W','E','R','T','Y','U','I','O','P']
+                  , ['A','S','D','F','G','H','J','K','L',';']
+                  , ['Z','X','C','V','B','N','M',',','.','/']
+                  ]