Skip to content

Instantly share code, notes, and snippets.

@bergmark
bergmark / gist:76cafefb300546e9b90e
Last active November 9, 2015 17:04 — forked from dcoutts/gist:9a909e908f5294c08118
Draft Hackage trustee policy and procedures

Draft Hackage trustee policy and procedures

The Hackage trustees are a group of volunteers who are interested in the health of the package collection as a whole. This is different to the role of maintainers of individual packages.

The trustees role is in many ways similar to that of the individuals who maintain the Haskell packages for the various Linux distributions. In Linux distributions the distribution maintainers seek to have their

data Static = X | Y
resource :: Resource WithA WithB Ident Void Static
resource = mkResourceReader
{ R.name = "foo"
, R.schema = noListing $ named
[ ("id" , singleRead ById )
, ( "x" , static X )
, ( "y" , static Y )
]
;; Projectile
(progn
(require 'projectile)
(projectile-global-mode)
(setq projectile-indexing-method 'alien)
(setq projectile-enable-caching t))
;; Relax the GC
(setq gc-cons-threshold 20000000)
(add-hook 'haskell-mode-hook
(lambda () (add-hook 'before-save-hook 'kill-warnings-buffer nil 'make-it-local)))
(defun kill-warnings-buffer ()
(when (get-buffer "*Warnings*")
(kill-buffer "*Warnings*")))
-- $ ghc -ddump-simpl -dsuppress-all Fib.hs -fforce-recomp -O2
[1 of 1] Compiling Fib ( Fib.hs, Fib.o )
==================== Tidy Core ====================
Result size of Tidy Core = {terms: 52, types: 59, coercions: 0}
fibs3
fibs3 = __integer 1
fibs4
warming up
estimating clock resolution...
mean is 941.9046 ns (640001 iterations)
found 1045200 outliers among 639999 samples (163.3%)
501011 (78.3%) low severe
544189 (85.0%) high severe
estimating cost of a clock call...
mean is 52.69083 ns (7 iterations)
benchmarking positional/decode/presidents/without conversion
{-# LANGUAGE RankNTypes, TypeFamilies, ConstraintKinds #-}
import Data.String
import Data.String.ToString
import Text.XML.HXT.Arrow.Pickle
import GHC.Exts
import qualified Data.Map.Strict as SM
f :: (C map key, C map String, XmlPickler (map String value), IsString key, ToString key)
=> (forall k k'. C map k => (k -> k') -> map k value -> map k' value)
{-# LANGUAGE
FlexibleContexts
, FlexibleInstances
, MultiParamTypeClasses
, TypeSynonymInstances
#-}
module ToStringy (ToStringy (..), fromStringy) where
import Data.String
import qualified Data.ByteString as SB
{-# LANGUAGE RankNTypes #-}
module Test where
import Data.Data (Data)
import Data.Generics.Uniplate.Data
import Data.Typeable (Typeable)
import Language.Haskell.Exts.Annotated hiding (binds, loc)
import Prelude hiding (exp)
{-# LANGUAGE
EmptyDataDecls
, FlexibleContexts
, GADTs
, OverloadedStrings
, QuasiQuotes
, TemplateHaskell
, TypeFamilies
#-}
module Bar where