Skip to content

Instantly share code, notes, and snippets.

View yfyf's full-sized avatar

Ignas Vyšniauskas yfyf

View GitHub Profile
@yfyf
yfyf / beam.rst
Last active August 29, 2015 14:15 — forked from kuenishi/beam.rst

BEAM

assemble

$ erlc -S test.erl
@yfyf
yfyf / bad.html
Last active August 29, 2015 14:16
Pandoc issue
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="generator" content="pandoc">
<title></title>
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<link rel="stylesheet" href="reveal.js/css/reveal.min.css"/>
@yfyf
yfyf / primes.hs
Created February 25, 2015 10:06
Primes a la Yves Bertot
---- Prime sieve based on co-inductive streams
---- Taken from "Filters on coinductive streams, an application to
---- Eratosthenes’ sieve" by Yves Bertot
-- a 'stateful' filter
fm p n (x:xs) | (n < x) = fm p (n+p) (x:xs)
fm p n (x:xs) | (n == x) = fm p (n+p) xs
fm p n (x:xs) | (x < n) = x : (fm p n xs)
primes = sieve [2..] where
@yfyf
yfyf / cabal.config
Created March 31, 2015 08:48
Useful additions to ~/.cabal/config
-- Prevent working in non-sandboxed envs:
require-sandbox: True
-- Always enable test suite installation/building
tests: True
-- Always build documentation
documentation: True
-- Run (# of CPUs) build/fetch jobs in parallel
jobs: $ncpus
-- A few more options you might want to consider:
-- library-coverage: True
@yfyf
yfyf / watcher.sh
Last active August 29, 2015 14:19
Inotify wrapper to refresh browser window on file update
#!/bin/bash
set -euo pipefail
FILE=$1
FILENAME=$(basename "$FILE")
BROWSER=iceweasel
OK=0
@yfyf
yfyf / happy.hs
Last active August 29, 2015 14:21
Spot the error
happyNewToken action sts stk
= lexwrap(\tk ->
let cont i = happyDoAction i tk action sts stk in
case tk of {
alexEOF -> happyDoAction 18# tk action sts stk;
TokenLet -> cont 1#;
TokenIn -> cont 2#;
TokenFresh -> cont 3#;
TokenSpawn -> cont 4#;
TokenEnd -> cont 5#;
@yfyf
yfyf / abt.hs
Last active August 29, 2015 14:21 — forked from pchiusano/abt.hs
-- A port of: http://semantic-domain.blogspot.com/2015/03/abstract-binding-trees.html
{-# LANGUAGE DeriveFunctor #-}
module ABT where
import qualified Data.Foldable as Foldable
import Data.Foldable (Foldable)
import Data.Set (Set)
import qualified Data.Set as Set
@yfyf
yfyf / measure_theory.tex
Created October 9, 2011 23:35
Measure Theory Notes
\documentclass[12pt]{article}
\usepackage{amsfonts, amsthm, amsmath}
\usepackage{verbatim}
\setlength{\textwidth}{6.5in}
\setlength{\oddsidemargin}{0in}
\setlength{\textheight}{9.5in}
\setlength{\topmargin}{0in}
\setlength{\headheight}{0in}
\setlength{\headsep}{0in}
\setlength{\parskip}{0pt}
@yfyf
yfyf / limit-infinity
Created February 4, 2012 15:08
motivation for the extended integers
Return = case NumberGrouping of
default ->
Nums = [Nr || {Nr, _} <- ctree:get_nr(ResultTree, [{count, Limit}])],
Sublist = case Limit of
infinity ->
Numbers;
L when is_integer(L) ->
lists:sublist(number_utils:expand_list(Nums), Limit)
end,
number_utils:reduce_list(Sublist).
@yfyf
yfyf / foobar_rebar_plugin.erl
Created November 23, 2012 11:25
execute rebar plugin when explicit only
-module(foobar_rebar_plugin).
-export([
pre_compile/2
]).
pre_compile(Config, AppFile) ->
case is_explicit_plugin(Config) of
true ->
%% Do Stuff.