Skip to content

Instantly share code, notes, and snippets.

View gip's full-sized avatar

gip

View GitHub Profile
@gip
gip / freedsl.hs
Last active August 29, 2015 14:07
Haskell / Free Monad / How can I do something like this?
data A = A Text
data B = B Text A
data ActionC t next = InsertC t (t -> next)
instance Functor (ActionC t) where
fmap f (InsertC a b)= InsertC a (f . b)
insertC a = liftF (InsertC a id)
proC txt1 txt2 = do
@gip
gip / keybase.md
Created November 6, 2014 22:55
keybase.md

Keybase proof

I hereby claim:

  • I am gip on github.
  • I am gip (https://keybase.io/gip) on keybase.
  • I have a public key whose fingerprint is C37D 0FB7 7B78 BEDC 3C97 9CCD 3683 DA89 90E8 2A1C

To claim this, I am signing this object:

@gip
gip / maze.hs
Created April 3, 2015 06:51
Esper Maze Mugs
-- Esper http://tech.esper.com/2015/03/08/maze-navigation-challenge/
-- Gilles Pirio
-- run with runghc maze.hs
import qualified Data.Map as M
import qualified Data.Set as S
import qualified Data.List as L
import Control.Monad
import System.Environment