Enter this number https://gist.github.com/eccstartup/382579e0a4ef9133eb16 1312414124532675478362532543571329085712389578957198523598236057236457230478923749028357328974892375829037589230748923569823604327894723589072389547328957238907523895789207589230758932758903274892305692803567892037145892137580927389573289475238956729803659028375892037698023716891205237509812759807589263108972589236589237489326589325790238502156728013523809759823
Enter it^2 for 9 times
I get a Bus error: 10.
I use ghcformacosx, with version 7.10.1 in Yosemite. I notice that not all really large numbers can reproduces this, but this one can cause bus error again and again, even after a restart. I admit that this number is typed randomly if you want to know how I get it. What could be the reason?submitted by eccstartup
[link] [21 comments]
Suppose T is traversable and applicative, and F is applicative. We have the mapsequenceA :: T (F a) -> F (T a)
which I'd like to think of as a natural transformation TF -> FT. If you like we can be explicit about this by writingsequenceC :: Compose T F a -> Compose F T a sequenceC = Compose . sequenceA . getCompose
Since F and T are applicative, Compose F T and Compose T F are as well. When is it the case that sequenceC satisfies the following equations?sequenceC . pure = pure sequenceC (f <*> x) = sequenceC f <*> sequenceC x
I suspect the first equation always holds, so I'm more interested in the second.
The second equation often fails. For example, for T = Maybe, F = (,) String:f :: Compose Maybe ((,) String) (a -> Bool) f = Compose $ Just ("a", \_ -> True) x :: Compose Maybe ((,) String) a x = Compose Nothing
and we havesequenceC (f <*> x) == Compose ("", Nothing) sequenceC f <*> sequenceC x == Compose ("a", Nothing)
As another example, it holds if we take T = (,) String and F = Maybe.submitted by seriousreddit
[link] [3 comments]
So, we did it! The Haskell Keycap group-buy is finally up! See it here: http://www.pimpmykeyboard.com/deals/haskell-logo-keycaps/?nowforsale
Note that you'll initially be charged the 'full' amount, though you'll be refunded if we get more than 50, 75, 100, or 250 keys!
There is also a sub-deal for 1x (normal size), whereas the main deal is for a 1.25x (OS key).submitted by NFATracker
[link] [5 comments]
Does something like this exist somewhere already?newtype EitherMonoids a b = EitherMonoids (Either a b) deriving (Show) instance (Monoid a, Monoid b) => Monoid (EitherMonoids a b) where mempty = EitherMonoids $ Right mempty (EitherMonoids (Left xs)) `mappend` (EitherMonoids (Left ys)) = EitherMonoids $ Left $ xs `mappend` ys (EitherMonoids (Right xs)) `mappend` (EitherMonoids (Right ys)) = EitherMonoids $ Right $ xs `mappend` ys x@(EitherMonoids (Left _)) `mappend` (EitherMonoids (Right _)) = x (EitherMonoids (Right _)) `mappend` x@(EitherMonoids (Left _)) = x submitted by singpolyma
[link] [11 comments]