Skip to content

Instantly share code, notes, and snippets.

View sordina's full-sized avatar

Lyndon Maydwell sordina

View GitHub Profile
main = putStrLn prelude
>> interact (unlines . filter (not . null) . map compile)
>> putStrLn afterward
a +++ b = a ++ "\n" ++ b
prelude = "#include <stdio.h>"
+++ "char b[1000000];"
+++ "int main() {"
+++ "char* p = b;"
import Data.Array
import Data.Ord
import Data.List.Zipper
import Data.Aeson (encode)
import Data.List (minimumBy, nub)
import qualified Data.ByteString.Lazy.Char8 as LBS
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE NoMonomorphismRestriction #-}
import Data.HashMap.Lazy hiding (map)
import Data.Ord
import Data.Aeson
import Data.List (minimumBy, nub)
import Data.Text (pack)
import qualified Data.Text as T
import qualified Data.ByteString.Lazy.Char8 as LBS
{-# LANGUAGE OverloadedStrings #-}
import Data.HashMap.Lazy
import Data.Text hiding (last, minimum)
import Prelude hiding (length)
levenstein :: Text -> Text -> Int
levenstein a b = snd $ last levsl
where
@sordina
sordina / dockerrun-jsen-schema.json
Created March 12, 2016 12:37
jsen schema to validate Dockerrun.aws.json files
{
"type": "object",
"properties": {
"AWSEBDockerrunVersion": {
"type": "integer",
"minimum": 1,
"maximum": 2
},
"authentication": {
"type": "object",
@sordina
sordina / cpcwd.sh
Created March 10, 2016 05:32
OS X Copy Current working directory relative to Home, with optional arg
#!/bin/bash
if [ ! "$1" ]
then
echo `pwd`/ | sed 's#^/Users/lyndon/#~/#' | tee /dev/stderr | tr -d '\n' | pbcopy
else
echo `pwd`/$1 | sed 's#^/Users/lyndon/#~/#' | tee /dev/stderr | tr -d '\n' | pbcopy
fi
#!/bin/bash
set -e
echo "$@"
if [ -f .dockername ]
then
N=$(cat .dockername)
else
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE KindSignatures #-}
import Control.Category ((>>>), Category())
import Control.Arrow (Kleisli(..))
import Control.Monad.State (runState, modify, State)
-- Our composition is abstract
--
@sordina
sordina / optgen.hs
Last active March 1, 2016 01:56
options.generic pure example
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE DeriveAnyClass #-}
module Main where
import Options.Generic
import Options.Applicative
data Bla = X | Y String
#!/bin/bash
set -e
rawname=""
if [ "$1" == "-h" ] || [ "$1" == "--help" ]
then
echo "Usage: jekyll-new-draft.sh [DRAFT NAME WITH SPACES]" 1>&2
exit