-----------------------------------------------------------------------------
-- |
-- Module      :  Diagrams.TwoD.Path.Turtle.Aliases
-- Copyright   :  (c) 2011 Michael Sloan
-- License     :  BSD-style (see LICENSE)
-- Maintainer  :  Michael Sloan <mgsloan at gmail>
--
-- Adds compact aliases for turtle operations, to write code that looks even
-- more Turtle-y.
--
-----------------------------------------------------------------------------

module Diagrams.TwoD.Path.Turtle.Aliases where

import           Diagrams.TwoD.Path.Turtle

fd, bk, lt, rt :: (Floating n, Ord n) => n -> Turtle n ()

fd :: forall n. (Floating n, Ord n) => n -> Turtle n ()
fd = forall n (m :: * -> *).
(OrderedField n, Monad m) =>
n -> TurtleT n m ()
forward
bk :: forall n. (Floating n, Ord n) => n -> Turtle n ()
bk = forall n (m :: * -> *).
(OrderedField n, Monad m) =>
n -> TurtleT n m ()
backward

lt :: forall n. (Floating n, Ord n) => n -> Turtle n ()
lt = forall n (m :: * -> *).
(OrderedField n, Monad m) =>
n -> TurtleT n m ()
left
rt :: forall n. (Floating n, Ord n) => n -> Turtle n ()
rt = forall n (m :: * -> *).
(OrderedField n, Monad m) =>
n -> TurtleT n m ()
right

pu, pd :: (Floating n, Ord n) => Turtle n ()
pu :: forall n. (Floating n, Ord n) => Turtle n ()
pu = forall n (m :: * -> *). (OrderedField n, Monad m) => TurtleT n m ()
penUp
pd :: forall n. (Floating n, Ord n) => Turtle n ()
pd = forall n (m :: * -> *). (OrderedField n, Monad m) => TurtleT n m ()
penDown