-- Actual program logic
run :: Options -> IO ()
run (Options cmd) =
    case cmd of
        Ca h k l-> do
           print (solution /~~ degree)
           dispv (computeHkl e4c solution lattice)
           disp path
               where
                 (sol, path) = computeAngles e4c angles lattice mode [h, k, l]
                 s = [30.0, 0.0, 0.0, 0.0, 10.0, 0.0]
                 d = [60.0]
                 angles = (s ++ d) *~~ degree
                 solution = fromMode mode sol angles
                 lattice = Cubic (1.54 *~ nano meter)
                 mode = ModeHklE4CConstantPhi
run :: Options -> IO ()
run (Options cmd) =
    case cmd of
        Ca h k l-> do
           print (solution /~~ degree)
           dispv (computeHkl e4c solution lattice)
           disp path
               where
                 (sol, path) = computeAngles e4c angles lattice mode [h, k, l]
                 s = [30.0, 0.0, 0.0, 0.0, 10.0, 0.0]
                 d = [60.0]
                 angles = (s ++ d) *~~ degree
                 solution = fromMode mode sol angles
                 lattice = Cubic (1.54 *~ nano meter)
                 mode = ModeHklE4CConstantPhi
run (Options cmd) =
    case cmd of
        Ca h k l-> do
           print (solution /~~ degree)
           dispv (computeHkl e4c solution lattice)
           disp path
               where
                 (sol, path) = computeAngles e4c angles lattice mode [h, k, l]
                 s = [30.0, 0.0, 0.0, 0.0, 10.0, 0.0]
                 d = [60.0]
                 angles = (s ++ d) *~~ degree
                 solution = fromMode mode sol angles
                 lattice = Cubic (1.54 *~ nano meter)
                 mode = ModeHklE4CConstantPhi