#!/usr/bin/env stack {- stack script --resolver lts-16.14 --install-ghc --ghc-options -Wall --ghc-options -Wno-unused-imports -} {-# language NoImplicitPrelude #-} {-# language DuplicateRecordFields #-} import Rebase.Prelude import Control.Lens type Inches = Rational boardLength, boardThickness, kickerHeight, numShelves, numHorizontals, availableSpace :: Inches boardLength = 6 * 12 boardThickness = 5/8 kickerHeight = 4 numShelves = 5 numHorizontals = numShelves + 1 availableSpace = boardLength - kickerHeight - numHorizontals * boardThickness shelves :: [Rational] shelves = [2%9, 2%9, 2%9, 1%6, 1%6] main :: IO () main = do _ <- return $ assert $ sum shelves == 1 print shelves return ()