README for COMS4995 Final Project:

   My program can be compiled with the following command:

      stack ghc -- -O2 -threaded -rtsopts -eventlog dstar.hs

   To run my program on the command line, the user must provide the dimensions
   of the map, the start and goal locations, and a list of all obstacle
   locations. One can follow this format:

      ./dstar <height> <width> <start> <goal> <list of obstacles>

   Some test cases for my program:

      NOTE: When running on the command line, extra backslashes are needed so
            that bash does not throw an error.

      Test case #1: ./dstar 10 10 \(0,0\) \(9,0\) []
      Should return:
      [(0,0),(1,0),(2,0),(3,0),(4,0),(5,0),(6,0),(7,0),(8,0),(9,0)]

      Test case #2: ./dstar 10 10 \(0,0\) \(9,9\) [\(0,1\)]
      Should return:
      [(0,0),(0,1),(0,2),(0,3),(0,4),(0,5),(0,6),(0,7),(0,8),(0,9),(1,9),(2,9),
       (3,9),(4,9),(5,9),(6,9),(7,9),(8,9),(9,9)]
      [(0,0),(1,0),(1,1),(1,2),(1,3),(1,4),(1,5),(1,6),(1,7),(1,8),(1,9),(2,9),
       (3,9),(4,9),(5,9),(6,9),(7,9),(8,9),(9,9)]
      Explanation: The program prints two paths to the console. The first is
                   the original proposed path (which unknowingly passes through
                   the obstacle), and the second is the final proposed path
                   that avoids the obstacle.

      Test case #3: ./dstar 200 200 \(0,0\) \(199,199\) [\(0,1\)]
      Should return (the actual output is too long, so a short-form is
      provided below):
      [(0,0)..(0,199)] ++ [(1,199)..(199,199)]
      [(0,0)] ++ [(1,0)..(1,199)] ++ [(2,199)..(199,199)]
      NOTE: This was the specific test case that I used for gathering the
            results in the report.
