Skip to content

Instantly share code, notes, and snippets.

module Main where
import System.Environment (getArgs)
import System.FilePath
import Data.Maybe (isJust)
main :: IO ()
main = do [from, to] <- getArgs
print (relative from to)
@frms-
frms- / subst.hs
Last active August 29, 2015 14:09
module Main where
import qualified Data.ByteString.Lazy.Char8 as C
import Data.Char (isAscii)
other = '.'
main :: IO ()
main = C.putStr . C.map (\b -> if isAscii b then b else other) =<< C.getContents
module Silence (silence, silentStream, silentFile) where
import Data.ByteString.Builder
import Data.Int (Int64)
import Data.Monoid ((<>))
import qualified Data.ByteString.Lazy as BL
type Seconds = Int64
{-# LANGUAGE OverloadedStrings, RecordWildCards #-}
module Main where
import Control.Applicative
import Control.Concurrent.STM
import Data.Aeson
import Data.Aeson.Types ()
import Network.HTTP.Server hiding (OK)
import Network.URL
import Prelude hiding (lookup)
@frms-
frms- / rest.hs
Last active August 29, 2015 14:05
{-# LANGUAGE OverloadedStrings, RecordWildCards, MultiWayIf #-}
module Main where
import Control.Applicative
import Control.Concurrent.MVar
import Data.Aeson
import Data.Aeson.Types ()
import Network.HTTP.Server hiding (OK)
import Network.URL
trim xs = dropSpaces $ zipWith const xs (dropSpaces (reverse xs))
where dropSpaces = dropWhile isSpace
import java.util.*;
import java.io.*;
public class MedianMaintenance {
public static long sumMedians(List<Integer> xs) {
Queue<Integer> low = new PriorityQueue<>();
Queue<Integer> high = new PriorityQueue<>();
module Postfix (toPostfix) where
import Control.Applicative((*>), (<*), (<$>))
import Data.DList
import Data.Functor.Identity
import Text.Parsec
import Text.Parsec.Expr
import Text.Parsec.String
data Expr = Add Expr Expr