Skip to content

Instantly share code, notes, and snippets.

@andrevdm
andrevdm / tabs.8.hs
Last active August 29, 2015 14:26
Tabs in haskell
main = do
let x = "123"
y = "456"
in putStrLn (x ++ y)
{-
Simple example in haskell.
This works (tabs=8)

Keybase proof

I hereby claim:

  • I am andrevdm on github.
  • I am andrevdm (https://keybase.io/andrevdm) on keybase.
  • I have a public key ASAWS0wAIatevpzPxPNLKcuqbaCftRIJqXalpqIZ5GJnzwo

To claim this, I am signing this object:

@andrevdm
andrevdm / ghci.conf
Last active February 6, 2018 19:40
GHCi pretty print surviving reload (using :rr) for GHC +8.0
:set -package pretty-show
:set -package hscolour
:set -XOverloadedStrings
:set -XNoImplicitPrelude
:set -XScopedTypeVariables
:set -XTupleSections
:set -fno-warn-type-defaults
:set prompt "λ: "
@andrevdm
andrevdm / buildExpressionParser.hs
Last active March 21, 2017 04:59
Example buildExpressionParser with character parsing
import Protolude
import Text.Trifecta as T
import qualified Text.Parser.Expression as P
import qualified Data.Text as Txt
skipSpaces = skipMany $ oneOf " \t"
expr :: Parser X
expr = skipSpaces *> P.buildExpressionParser table term <?> "expression"
@andrevdm
andrevdm / MonadTransformerExamples1.hs
Created August 19, 2017 15:05
Monad transformer stack examples
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TupleSections #-}
module Main where
import System.IO (getLine)
import ClassyPrelude
import Control.Monad.Reader
import Control.Monad.Trans.Maybe
@andrevdm
andrevdm / amazonka_eg.hs
Created September 23, 2017 13:10
Amazonka: example dynamo & s3
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
module Main where
import Protolude hiding (to, (&))
import qualified System.IO as IO
import Control.Lens ((<&>), (^.), (.~), (&), set, view)
import qualified Data.Text as Txt
import qualified Data.Conduit as C
@andrevdm
andrevdm / ReaderT constraint with record.hs
Created October 1, 2017 19:38
Has* class constraint with record in ReaderT
#!/usr/bin/env stack
{- stack
script
--resolver lts-9.3
--package text
--package protolude
--package text
-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
@andrevdm
andrevdm / Brick_Simple.hs
Last active November 7, 2017 09:10
Brick: Simple example (simplified from https://samtay.github.io/articles/brick.html)
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
module Main where
import Protolude
import Brick ((<+>))
import qualified Brick as B
import qualified Brick.Widgets.Center as BC
import qualified Brick.BChan as BCh
@andrevdm
andrevdm / Brick_Simple_Editor.hs
Last active November 6, 2017 18:42
Brick: simple editor demo
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
module Main where
import Protolude
import Prelude (unlines)
import Brick ((<+>), (<=>))
import qualified Brick as B
import qualified Brick.Focus as BF
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
module Main where
import Protolude
import Brick ((<+>))
import qualified Brick as B
import qualified Brick.Widgets.List as BL
import qualified Brick.Widgets.Center as BC