Skip to content

Instantly share code, notes, and snippets.

Keybase proof

I hereby claim:

  • I am rpglover64 on github.
  • I am rpglover64 (https://keybase.io/rpglover64) on keybase.
  • I have a public key whose fingerprint is D67E 2F23 C618 B5F8 0C18 C527 378E 4A39 EADE 0FBD

To claim this, I am signing this object:

diff --git a/flycheck-haskell.el b/flycheck-haskell.el
index a51b879..d263e1e 100644
--- a/flycheck-haskell.el
+++ b/flycheck-haskell.el
@@ -143,6 +143,9 @@ Return the configuration."
(or (flycheck-haskell-get-cached-configuration cabal-file)
(flycheck-haskell-read-and-cache-configuration cabal-file)))
+(defconst flycheck-haskell-cabal-config "cabal.config"
+ "The file name of a Cabal configuration.")
@rpglover64
rpglover64 / ghc-mod.el
Created March 16, 2015 22:56
Work in progress on using ghc-mod for flycheck.
(flycheck-define-checker haskell-ghc-mod
"A Haskell syntax and type checker using ghc-mod."
:command ("ghc-mod" "check" source)
:error-patterns
((warning line-start (file-name) ":" line ":" column ":"
"Warning:" (zero-or-more space)
(message (one-or-more not-newline))
line-end)
(error line-start (file-name) ":" line ":" column ":"
(zero-or-more space)
@rpglover64
rpglover64 / gist:740040c28b725cd93337
Created June 5, 2015 20:05
Implementation of shuffle for smallcheck
import Test.SmallCheck
import Test.SmallCheck.Series
import Data.Bifunctor
import Control.Monad
-- Based on the implementation in quickcheck: http://hackage.haskell.org/package/QuickCheck-2.8.1/docs/src/Test-QuickCheck-Gen.html#shuffle
shuffle [] = return []
shuffle xs = do
(y, ys) <- uncurry mplus $ bimap msum msum $ bimap (map return) (map $ decDepth . return) $ splitAt 1 $ selectOne xs
(y:) <$> decDepthChecked (return ys) (shuffle ys)
@rpglover64
rpglover64 / main.hs
Created August 18, 2015 18:28
Example script using turtle
#!/usr/bin/env stack
-- stack --install-ghc runghc --package turtle
{-# LANGUAGE OverloadedStrings #-}
import Turtle
import qualified Data.Text as T
import Data.Traversable
import Data.Foldable
import Data.Either
module Main where
import System.Environment
import Network.HTTP
main :: IO ()
main = do
url <- fmap head getArgs
r <- simpleHTTP $ getRequest url
getResponseBody r >>= putStrLn