Skip to content

Instantly share code, notes, and snippets.


Haskell projects with lots of dependencies on Travis CI

If your Haskell project has lots of dependencies, you can find yourself reaching the timeout while compiling them - the free service has a timeout of 50 minutes. How do we address this?

First, a quick reminder of build statuses in Travis CI:

All builds finish with one of four possible statuses: succeeded, failed, errored, or (manually) cancelled. The difference between a failed and errored

View awkward-records.patch
a9d20f4 Add test for generic deriving with awkward records (Harry Garrood, 54 seconds ago)
diff --git a/examples/passing/RecordLabels.purs b/examples/passing/RecordLabels.purs
new file mode 100644
index 0000000..b58a4bd
--- /dev/null
+++ b/examples/passing/RecordLabels.purs
@@ -0,0 +1,5 @@
+module Main where


First you'll need a docker install:


After installing Docker, we'll run a PureScript psci session by running the image. The -it flags allocate a pseudo tty and make it interactive. We're pulling the image from the default docker hub, so the images are here and the code that builds them is on GitHub

docker run -it biscarch/purescript:
View Main.purs
module Main where
Data.List (List)
Data.List as List
Control.Monad as Monad
Control.Monad.Eff.Console as Console
main = Console.log (show "hello world")
View Main.purs
module Main where
import Prelude
import Data.Either
import Data.Functor.Compose
import Control.Monad.Eff.Console (print)
class Convert a b where
convert :: a -> b
View Main.purs
module Main where
import Prelude
import Data.Maybe (Maybe)
import Data.List (List)
import Control.Monad.Eff.Console (print)
import Control.Comonad.Cofree (Cofree, mkCofree, head, tail)
import Control.Alternative (class Alternative)
import Control.Plus (empty)

The following packages use operator aliases and appear to have been generated with version 0.8.0 of the compiler. Since the encoding for operator aliases changed in 0.8.1, these need to be regenerated:

  • flare 0.4.3
  • flare 0.5.0
  • difflists 3.0.1-pursuit
  • difflists 3.0.1
  • neon 0.4.0
  • neon 0.4.1
  • nonempty 0.2.0
  • rationals 0.3.1
hdgarrood / Main.purs
Last active Feb 16, 2016
`*>` is not `flip <*`!
View Main.purs
module Main where
import Prelude
import Data.Monoid
import Control.Apply as Apply
import Control.Monad.Writer
import Control.Monad.Eff.Console (log, print)
main = do
print (runWriter (f "hi" Apply.<* f " world"))
View missing.txt
purescript-aff 0.11.0
purescript-batteries 0.2.2
purescript-batteries 0.2.3
purescript-batteries 0.2.4
purescript-batteries 0.2.5
purescript-batteries 0.3.0
purescript-batteries 0.4.0
purescript-batteries 0.5.0
purescript-batteries 0.5.1
purescript-behaviors 0.1.0
View previous-package-list.json
You can’t perform that action at this time.