Added .gitignore file.
Added some basic unit tests.
Toying around with Accelerate by implementing the dot product example.
Playing around with Accelerate stencils.
Fixed type issues with Average function.
Added infrastructure for CUDA compilation.
The results of the meeting with Dominic on the 21st of November. We discussed how to generalize the types of Typos in order to support the same type for both Accelerate based functions and existing functions.
Some bug fixes proposed in said meeting.
Implemented a basic compiler for 1D stencils. Mostly works by having pilfered most of the code for interpret. The changes are that now we don't take a grid but the lambda contains a stencil formatted argument as per the Accelerate Stencil requirement.
Implemented the 1D avg function using the new Ypnos fun compilation.
Started using cabal.
Now ignoring the dist/ directory.
Forgot to at Setup.hs which is part of cabal setup.
Implemented the run primitive for 1D stencils. Currently doesn't have
the same type as the other run function. We will have to do something
interesting because of all the introduced constraints.
Added support for 2D templates in the compilation stage. It still
remains to be added to the run function.
Added a test for 2D templates. Needed to make a minor tweak in
Combinators to make it work.
Added functions to centre and un centred pattern. These work by
converting to an intermediary list representation before converting to
tuples that are balanced.
Previous approach to the centering the patterns was bottom up and
getting messy. Now trying a top down approach which seems to be going a
lot better. Lots of code is currenty commented out as it has been
broken.

Had to use an intermediary type family called GridPattern' to bring the
dimentionality of the pattern into the type system. This allows us to
better deal with the different index types required when converting into
the intermediary representation.

The plan is to use arrays for the intermediary then write some functions
that deal with the insertion of columns and centering of cursor. Then it
will be trivial to convert this into the tuple representation.
Fixed an off by 1 error.
* Uncommented all previously not working code. It all works now!

* Stopped dealing in dimension elements. Those were a waste of type.
  Only integer index types now.

* Wrote a dummy center method and a real intermediate to pattern method.
  The later works by assuming that everything is 2D and building a 2D
  pattern even for 1D things. This is fine because the difference
  between (()) and () is not noted.