Skip to content

Instantly share code, notes, and snippets.

View erewok's full-sized avatar

Erik erewok

View GitHub Profile
#! /usr/bin/env bash
set -eufo pipefail
nix-shell --pure --run 'ghcide --lsp'
@alpmestan
alpmestan / servant-flatten.hs
Created January 8, 2018 10:55
Flatten servant API types
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE UndecidableInstances #-}
import Data.Proxy
import GHC.TypeLits
import Servant.API
{-# LANGUAGE DeriveGeneric, TypeOperators, RankNTypes, ScopedTypeVariables, DataKinds #-}
import Generics.SOP
import qualified GHC.Generics as GHC
type Text = String
type Day = String
data CardType = Visa | AmEx | Mastercard
data FormTemplate f = FormTemplate
{ _email :: f Text
@freckletonj
freckletonj / oauth.hs
Created April 27, 2017 21:06
Haskell Servant OAuth2.0 for GitHub
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE TypeOperators #-}
module Sand where
import Data.Aeson
@paragonie-scott
paragonie-scott / crypto-wrong-answers.md
Last active April 21, 2024 23:48
An Open Letter to Developers Everywhere (About Cryptography)