acme-grawlix (empty) → 0.1.0.0
raw patch · 4 files changed
+216/−0 lines, 4 filesdep +basesetup-changed
Dependencies added: base
Files
- LICENSE +30/−0
- Setup.hs +2/−0
- acme-grawlix.cabal +31/−0
- src/Acme/Grawlix.hs +153/−0
+ LICENSE view
@@ -0,0 +1,30 @@+Copyright (c) 2015++All rights reserved.++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions are met:++ * Redistributions of source code must retain the above copyright+ notice, this list of conditions and the following disclaimer.++ * Redistributions in binary form must reproduce the above+ copyright notice, this list of conditions and the following+ disclaimer in the documentation and/or other materials provided+ with the distribution.++ * Neither the name of Your name here nor the names of other+ contributors may be used to endorse or promote products derived+ from this software without specific prior written permission.++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
+ acme-grawlix.cabal view
@@ -0,0 +1,31 @@+name: acme-grawlix+version: 0.1.0.0+synopsis: More readable names for commonly used symbols+description: Readable code is a laudable goal, yet most Haskell code+ is littered with totally unpronounceable symbols of+ various sorts. How can code be readable if it's+ unspeakable?++ This package is designed to improve upon this sad state+ of affairs by giving pronounceable aliases to various+ symbols of all sorts.++ /Share and Enjoy/+homepage: http://github.com/kadoban/acme-grawlix+license: BSD3+license-file: LICENSE+author: Joshua Simmons+maintainer: joshua.simmons@emptypath.com+category: Acme+build-type: Simple+cabal-version: >=1.10++library+ hs-source-dirs: src+ exposed-modules: Acme.Grawlix+ build-depends: base >= 4.7 && < 5+ default-language: Haskell2010++source-repository head+ type: git+ location: https://github.com/kadoban/acme-glawlix
+ src/Acme/Grawlix.hs view
@@ -0,0 +1,153 @@+-- |+-- Module : Acme.Grawlix+-- Description : More readable names for commonly used symbols+-- Copyright : Joshua Simmons 2015+-- License : BSD3+--+-- Maintainer : joshua.simmons@emptypath.com+-- Stability : experimental+--+-- More readable names for commonly used symbols.+--+module Acme.Grawlix where++import Data.List ((\\))+import Control.Applicative (Alternative, (<|>), (<**>))+import Data.Monoid ((<>))+import Control.Monad ((>=>), (<=<))++-- * List++-- | An alias for the type '[]'+type List = []++-- | An alias for '[]'+emptyList :: List a+emptyList = []++-- | An alias for ':'+cons :: a -> List a -> List a+cons = (:)++-- | An alias for '++'+append :: List a -> List a -> List a+append = (++)++-- | An alias for '!!'+index :: List a -> Int -> a+index = (!!)++-- | An alias for '\\'+difference :: Eq a => List a -> List a -> List a+difference = (\\)++-- * Function++-- | An alias for '$'+apply :: (a -> b) -> a -> b+apply = ($)++-- | An alias for '.'+dot :: (b -> c) -> (a -> b) -> a -> c+dot = (.)++-- * Functor++-- | An alias for '<$>'+fmap :: Functor f => (a -> b) -> f a -> f b+fmap = (<$>)++-- | An alias for '<$'+constMap :: Functor f => a -> f b -> f a+constMap = (<$)++-- * Applicative++-- | An alias for '<*>'+ap :: Applicative f => f (a -> b) -> f a -> f b+ap = (<*>)++-- | An alias for '<*'+leftAp :: Applicative f => f a -> f b -> f a+leftAp = (<*)++-- | An alias for '*>'+rightAp :: Applicative f => f a -> f b -> f b+rightAp = (*>)++-- | An alias for '<**>'+flipAp :: Applicative f => f a -> f (a -> b) -> f b+flipAp = (<**>)++-- * Alternative++-- | An alias for '<|>'+orElse :: Alternative f => f a -> f a -> f a+orElse = (<|>)++-- * Monoid++-- | An alias for '<>'+mappend :: Monoid m => m -> m -> m+mappend = (<>)++-- * Monad++-- | An alias for '>>='+bind :: Monad m => m a -> (a -> m b) -> m b+bind = (>>=)++-- | An alias for '>>'+andThen :: Monad m => m a -> m b -> m b+andThen = (>>)++-- | An alias for '=<<'+flipBind :: Monad m => (a -> m b) -> m a -> m b+flipBind = (=<<)++-- | An alias for '>=>'+kleisliCompose :: Monad m => (a -> m b) -> (b -> m c) -> a -> m c+kleisliCompose = (>=>)++-- | An alias for '<=<'+flipKleisliCompose :: Monad m => (b -> m c) -> (a -> m b) -> a -> m c+flipKleisliCompose = (<=<)++-- * Tuple++-- | An alias for the type '()'+type Unit = ()++-- | An alias for the value '()', of type 'Unit'+unit :: Unit+unit = ()++-- | An alias for a tuple of zero elements+type ZeroTuple = Unit++-- | An alias for a tuple of two elements+type TwoTuple a b = (a, b)++-- | An alias for a tuple of three elements+type ThreeTuple a b c = (a, b, c)++-- | An alias for a tuple of four elements+type FourTuple a b c d = (a, b, c, d)++-- | An alias for a tuple of five elements+type FiveTuple a b c d e = (a, b, c, d, e)++-- | An alias for a tuple of six elements+type SixTuple a b c d e f = (a, b, c, d, e, f)++-- | An alias for a tuple of seven elements+type SevenTuple a b c d e f g = (a, b, c, d, e, f, g)++-- | An alias for a tuple of eight elements+type EightTuple a b c d e f g h = (a, b, c, d, e, f, g, h)++-- | An alias for a tuple of nine elements+type NineTuple a b c d e f g h i = (a, b, c, d, e, f, g, h, i)++-- | An alias for a tuple of ten elements+type TenTuple a b c d e f g h i j= (a, b, c, d, e, f, g, h, i, j)