Skip to content

Instantly share code, notes, and snippets.

View minad's full-sized avatar

Daniel Mendler minad

  • Germany
View GitHub Profile
@minad
minad / large.rkt
Last active September 12, 2017 07:22
#lang racket
(void (let ((a 0))
(vector-immutable
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
@minad
minad / crash.rkt
Last active February 18, 2017 23:19
This file has been truncated, but you can view the full file.
#lang racket
(define (_P! n) (void))
(define (_S n) (void))
(define (_N v) (void))
(define (_G n) (void))
(define (_S! n x) (void))
(define (_A . args) (void))
(define (_F v) (void))
(define (_CATCH h f) (void))
import System.Environment (getArgs)
import System.IO (hPutStrLn, stderr)
import System.Exit (exitFailure)
import Data.List (find, isPrefixOf, isSuffixOf, nub, intersperse)
import Data.Maybe (fromJust, mapMaybe)
import System.Directory (listDirectory, doesDirectoryExist)
import Data.Traversable (for)
import System.FilePath ((</>), takeDirectory, pathSeparator, dropExtension)
import Data.Monoid (Endo(..))
import Data.Foldable (fold)
-- same as sum below
liftSum :: Functor f => Either (f a) (f b) -> f (Either a b)
liftSum = either (Left <$>) (Right <$>)
-- same as comult below
unliftProd :: Functor f => f (a, b) -> (f a, f b)
unliftProd x = (fst <$> x, snd <$> x)
-- same as cosum below
unliftSum :: Comonad f => f (Either a b) -> Either (f a) (f b)
@minad
minad / RWS.hs
Last active August 31, 2016 17:57
module Trans.RWS (
module X,
RWS,
runRWS,
evalRWS,
execRWS,
mapRWS,
RWST,
runRWST,
evalRWST,
@minad
minad / valueLevelClasses.hs
Created April 18, 2016 23:18 — forked from jvranish/valueLevelClasses.hs
An experiment with mixing value level typeclasses and implicit parameters
{-# LANGUAGE Rank2Types
, RebindableSyntax
, ImplicitParams
, NoMonomorphismRestriction #-}
import Data.Maybe
import Data.Function
import Data.String
import Prelude (undefined, error, String, (++))
@minad
minad / LayoutParser.hs
Last active April 17, 2016 14:34
Indent parser for megaparsec
module LayoutParser (
LayoutParser,
indented,
linefold,
line,
saveIndent,
align,
runLayoutParser
) where
@minad
minad / test.c
Last active January 10, 2016 15:53
#include <assert.h>
#include <setjmp.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
#include <unistd.h>
#include <time.h>
@minad
minad / packages.rb
Created October 30, 2013 19:46
Package system similar to Python in Ruby.
require 'forwardable'
module Packages
class Package
module Mixin
extend Forwardable
def_delegators :@__PACKAGE__, :import, :bind
attr_reader :__PACKAGE__
def method_added(name)
module Daybreak
class BackgroundCompaction
def initialize(file)
@db = Daybreak::DB.new(file)
@thread = Thread.new(&method(:run))
end
def stop
@stop = true
@thread.join