summary refs log tree commit diff stats
path: root/bin/main.ml
diff options
context:
space:
mode:
Diffstat (limited to 'bin/main.ml')
-rw-r--r--bin/main.ml28
1 files changed, 27 insertions, 1 deletions
diff --git a/bin/main.ml b/bin/main.ml
index 7bf6048..d72fbe4 100644
--- a/bin/main.ml
+++ b/bin/main.ml
@@ -1 +1,27 @@
-let () = print_endline "Hello, World!"
+open AoC2018
+open Stdio
+
+let user_prompt (prompt: string): int =
+  print_string prompt;
+  flush stdout;
+  match In_channel.input_line In_channel.stdin with
+  | None -> failwith "no input given!"
+  | Some line -> int_of_string line
+  
+let load_file f =
+  let ic = open_in f in
+  let n = in_channel_length ic in
+  let s = Bytes.create n in
+  really_input ic s 0 n;
+  close_in ic;
+  (Bytes.unsafe_to_string s)
+
+let () = 
+  let day = user_prompt "which day? " in
+  let part = user_prompt "which part? " in
+    match (day, part) with
+    | (1, 1) -> load_file "inputs/day1.txt" |> Day1.part_1 |> printf "%d\n"
+    | (1, 2) -> load_file "inputs/day1.txt" |> Day1.part_2 |> printf "%d\n"
+    | _ -> printf "invalid combination\n"
+  
+