Skip to content

Instantly share code, notes, and snippets.

@rpglover64
rpglover64 / ziplist.hs
Last active August 29, 2015 14:15
Using OverloadedLists and applicative-quoters together.
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE OverloadedLists #-}
{-# LANGUAGE QuasiQuotes #-}
import GHC.Exts
import Control.Applicative
import Control.Applicative.QQ.Idiom
-- Note that this is an orphan instance.
instance IsList (ZipList a) where

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
@rpglover64
rpglover64 / gist:825863
Created February 14, 2011 13:24
brew install gnutls failure
==> Build Environment
CC: /usr/bin/cc => /usr/bin/gcc-4.2
CXX: /usr/bin/c++ => /usr/bin/c++-4.2
LD: /usr/bin/cc => /usr/bin/gcc-4.2
CFLAGS: -O3 -w -pipe
CXXFLAGS: -O3 -w -pipe
MAKEFLAGS: -j4
==> Downloading http://ftp.gnu.org/pub/gnu/gnutls/gnutls-2.10.4.tar.bz2
File already downloaded and cached to /Users/alex/Library/Caches/Homebrew
/usr/bin/tar xf /Users/alex/Library/Caches/Homebrew/gnutls-2.10.4.tar.bz2
@rpglover64
rpglover64 / gist:1377735
Created November 18, 2011 20:56
Text file with tabs and spaces important
1. a.
i.
P(day 1 is hot) = 0.491
Prior of CHH:
Prior of starting C = .5
Prior of day 2 as H = P(C₁)*P₂(H₂|C₁)
P(C₁H₂) = .5 * .1
= .05
Prior of day 3 as H = P(C₁H₂)*P(H₃|H₂)
@rpglover64
rpglover64 / brew doctor
Created September 21, 2012 00:41
Installing cairo-1.12.2 with --universal on OS X 10.8
Warning: Unbrewed dylibs were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.
Unexpected dylibs:
/usr/local/lib/libcdt.4.dylib /usr/local/lib/libcgraph.5.dylib /usr/local/lib/libfuse4x.2.dylib /usr/local/lib/libgraph.4.dylib /usr/local/lib/libgvc.5.dylib /usr/local/lib/libgvpr.1.dylib
Warning: Unbrewed .la files were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.
From 96800a054a3c296dbe532edfd4050f0e613f8e17 Mon Sep 17 00:00:00 2001
From: Alex Rozenshteyn <rpglover64@gmail.com>
Date: Wed, 10 Oct 2012 10:21:07 -0400
Subject: [PATCH 1/2] Fix documentation bug in fillSep
There were too many escapes.
---
Text/PrettyPrint/Free/Internal.hs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)