Skip to content

Instantly share code, notes, and snippets.

View bitemyapp's full-sized avatar
🐺
aroo

Chris A. bitemyapp

🐺
aroo
View GitHub Profile
@bitemyapp
bitemyapp / queue.idr
Last active August 29, 2015 14:14 — forked from jozefg/queue.idr
module queue
import Data.Vect
-- Here's the port of the Liquid Haskell blog post on amortized
-- queues. The tricksy bit is that the "amortized" bit depends on
-- laziness. This means that while in the REPL (where Idris is lazy)
-- this is reasonably efficient. It compiles absolutely horribly
-- though because each time push or pop something we rotate the whole
-- damned thing.
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
module Data.Haxl.Postgres.DataStoreExample
@bitemyapp
bitemyapp / functor.hs
Last active August 29, 2015 14:15 — forked from tonymorris/functor.hs
{-# LANGUAGE RankNTypes #-}
module Functor where
import Prelude(
foldr
, (.)
, Maybe(Nothing, Just)
, maybe
)
@bitemyapp
bitemyapp / fmap.md
Last active August 29, 2019 13:49 — forked from nkpart/fmap.md

fmap . fmap . fmap

Functors and Traversables compose.

You might have seen this statement before. This is how you can take advantage of it.

Composing many fmap calls gives you a function that will drill down into a structure and modify it at a certain depth in that nested structure.

Dear Committee,

I'm writing to nominate myself for a position on the haskell.org committee.

As a working Haskell developer at Galois, having reliable infrastructure is deeply important to me, and I would like to help maintain it however I can. I have experience maintaining web, mail, and IRC servers, as well as acquiring and configuring SSL certificates for those services. I hope that these skills may prove of use to the committee.

I also believe this is a critical point in the growth of our community. As adoption of Haskell increases, the decisions we make now will shape how our community develops, for good or for bad. I was moved by Chung-chieh Shan's [Haskell 2013 Program Chair report][1]. As he says, it can be hard work to speak one's mind with compassion, but let me try so that you can know better my concerns and what I hope to work towards.

I believe that a lack of diversity is one of the primary problems facing the Haskell community today. Ashe Dryden recently spoke at Galois and gave an excellent

Dear Committee,

I'm writing to nominate myself for a position on the haskell.org committee.

As a working Haskell developer at Galois, having reliable infrastructure is deeply important to me, and I would like to help maintain it however I can. I have experience maintaining web, mail, and IRC servers, as well as acquiring and configuring SSL certificates for those services. I hope that these skills may prove of use to the committee.

I also believe this is a critical point in the growth of our community. As adoption of Haskell increases, the decisions we make now will shape how our community develops, for good or for bad. I was moved by Chung-chieh Shan's [Haskell 2013 Program Chair report][1]. As he says, it can be hard work to speak one's mind with compassion, but let me try so that you can know better my concerns and what I hope to work towards.

I believe that a lack of diversity is one of the primary problems facing the Haskell community today. Ashe Dryden recently spoke at Galois and gave an excellent

module Promise where
import Control.Applicative (Applicative(..))
import Data.Monoid (Monoid(..))
newtype Error = Error { unString :: String } deriving (Eq, Ord, Read, Show)
data Promise a = Failed Error | Deferred | Fulfilled a
deriving (Eq, Ord, Read, Show)
class (Ord (Key table)) => OrderedKV table where
type Key table :: *
type Value table ::*
type Address table :: *
keyRange :: table -> (Key table, Key table)
key2Address :: table -> (Key table) -> Maybe (Address table)
address2Key :: table -> (Address table) -> Key Table
nextAddress :: table -> Address table -> Maybe (Address table)
nextKey :: table -> Key table -> Maybe (Address table) ->Maybe (Key table, Address table )
  1. General Background and Overview
@bitemyapp
bitemyapp / Err.hs
Last active August 29, 2015 14:22 — forked from nkpart/Err.hs
{-# LANGUAGE NoMonomorphismRestriction #-}
{-# LANGUAGE TemplateHaskell #-}
{-# OPTIONS_GHC -fwarn-missing-methods #-}
module Err where
import Control.Lens
import Control.Monad.Error
import Control.Monad.Error.Lens
-- Here is a fairly typical situation, where we have low level errors in certain