empty_grid = Grid 1 [[[]]]
-
--- This is how we do a 'for' loop in Haskell.
--- No, seriously.
+-- | Returns a three-dimensional list of cubes centered on the grid
+-- points of g with the appropriate 'FunctionValues'.
cubes :: Grid -> [[[Cube]]]
cubes g
| fvs == [[[]]] = [[[]]]
where
fvs = function_values g
zsize = (length fvs) - 1
- ysize = (length $ head fvs) - 1
- xsize = (length $ head $ head fvs) - 1
+ ysize = length (head fvs) - 1
+ xsize = length (head $ head fvs) - 1
-- | Takes a grid and a position as an argument and returns the cube
-- centered on that position. If there is no cube there (i.e. the
--- position is outside of the grid), it will return Nothing.
+-- position is outside of the grid), it will return 'Nothing'.
cube_at :: Grid -> Int -> Int -> Int -> Maybe Cube
cube_at g i j k
| i < 0 = Nothing