acme-php 0.0.2 → 0.0.3
raw patch · 2 files changed
+12/−4 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Prelude.PHP: false :: Bool
+ Prelude.PHP: file_not_found :: Bool
+ Prelude.PHP: isn't :: (t -> Bool) -> t -> Bool
+ Prelude.PHP: true :: Bool
Files
- Prelude/PHP.hs +10/−2
- acme-php.cabal +2/−2
Prelude/PHP.hs view
@@ -2,10 +2,16 @@ module Prelude.PHP where import Data.List (group)+import Unsafe.Coerce (unsafeCoerce) import Prelude hiding (foldr, foldl, subtract, elem, notElem, (&&), (||), not, otherwise, Bool) data Bool = TRUE | FALSE | FILE_NOT_FOUND deriving (Bounded, Enum, Eq, Ord, Read, Show) +-- PHP-Haskell is case-insensitive+true = TRUE+false = False+file_not_found = FILE_NOT_FOUND+ -- In prolog, we only need to specify the true cases, and the unifier will backtrack on false cases (&&) :: Bool -> Bool -> Bool (&&) TRUE TRUE = TRUE@@ -88,11 +94,13 @@ -- sort function, optimized for lists -- TODO - profiling-sortBy compare = head . head . dropWhile ((> 0) . length . drop 1) . group . iterate bubble+sortBy compare = head . head . dropWhile (isn't unsafeCoerce . drop 1) . group . iterate bubble where bubble [] = [] bubble [x] = [x]- bubble (x:y:ys) = if compare x y == GT then y:x:(bubble ys) else if compare x y == EQ then x:(bubble (y:ys)) else if compare x y == LT then x:(bubble (y:ys)) else x:y:(bubble ys)+ bubble (x:y:ys) = if compare x y == GT then y:(bubble (x:ys)) else if compare x y == EQ then x:(bubble (y:ys)) else if compare x y == LT then x:(bubble (y:ys)) else x:y:(bubble ys)++isn't f x = if f x then False else True foldr :: (a -> b -> b) -> b -> [a] -> b foldr f z [] = z
acme-php.cabal view
@@ -6,13 +6,13 @@ -- The package version. See the Haskell package versioning policy -- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for -- standards guiding when and how versions should be incremented.-Version: 0.0.2+Version: 0.0.3 -- A short (one-line) description of the package. Synopsis: The flexibility of Haskell and the safety of PHP -- A longer description of the package.-Description: At last, a module that combines the dynamic-typing features of Haskell 2010 with the performance and strict semantics of PHP!+Description: At last, a module that combines the dynamic flexibility of Haskell with the strong design principles of PHP! -- The license under which the package is released. License: BSD3