- http://the-paper-trail.org/blog/distributed-systems-theory-for-the-distributed-systems-engineer/
- https://github.com/palvaro/CMPS290S-Winter16/blob/master/readings.md
- http://muratbuffalo.blogspot.com/2015/12/my-distributed-systems-seminars-reading.html
- http://christophermeiklejohn.com/distributed/systems/2013/07/12/readings-in-distributed-systems.html
- http://michaelrbernste.in/2013/11/06/distributed-systems-archaeology-works-cited.html
- http://rxin.github.io/db-readings/
- http://research.microsoft.com/en-us/um/people/lamport/pubs/pubs.html
- http://pdos.csail.mit.edu/dsrg/papers/
- http://scalingsystems.com/2011/09/07/reading-list-for-distributed-systems/
- http://courses.engr.illinois.edu/cs525/sp2011/sched.htm
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Simple literate programming. | |
Add comments to your Erlang file with a special %%% syntax, like this: | |
%%% This is a comment that will be formatted in a variable width font with Markdown. | |
%%% You can use *emphasis* and | |
%%% # Headings | |
%%% and even | |
%%% | |
%%% - Lists |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
?- set_prolog_flag(occurs_check,true). | |
lookup([(X,A)|_],X,A). | |
lookup([(Y,_)|T],X,A) :- \+ X = Y, lookup(T,X,A). | |
/* Rules from the STLC lecture */ | |
pred(D,DD) :- D >= 0, DD is D - 1. | |
type(_,u,unit,D) :- pred(D,_). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
defmodule SqlParser do | |
def run() do | |
input = "select col1 from ( | |
select col2, col3 from ( | |
select col4, col5, col6 from some_table | |
) | |
) | |
" | |
IO.puts("input: #{inspect(input)}\n") | |
IO.inspect(parse(input)) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# OPTIONS_GHC -Wall #-} | |
{-# LANGUAGE DeriveAnyClass #-} | |
{-# LANGUAGE DeriveDataTypeable #-} | |
{-# LANGUAGE LambdaCase #-} | |
{-# LANGUAGE OverloadedStrings #-} | |
{-# LANGUAGE PartialTypeSignatures #-} | |
module RegAlloc1 | |
( -- * Types | |
Var |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1. have a brilliant idea for something you want to use | |
2. Stop! Don't start building it. | |
3. Find a project that does something similar. (This likely exists) | |
4. Read it's documentation. | |
* If it has none, learn the project and create some. | |
* If it does, try to build something with it and document what wasn't clear. | |
5. If it feels broke. Write some failing tests, | |
* If possible, fix them, then open a pr | |
* If not, open a pr with failing tests and get the maintainer to teach you how to fix them | |
6. Document your process for contributing in a file called CONTIBUTING.md |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
type product = { | |
category: string, | |
price: string, | |
stocked: bool, | |
name: string | |
}; | |
type products = list(product); | |
let products = [ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
type copyOpts; | |
[@bs.obj] external makeCopyOpts : (~overwrite: bool=?, ~errorOnExist: bool=?, ~dereference: bool=?, ~preserveTimestamps: bool=?, ~filter: (string=>bool)=?, unit) => copyOpts = ""; | |
/* copySync(src, dest, [options]) */ | |
/* https://github.com/jprichardson/node-fs-extra/blob/master/docs/copy-sync.md */ | |
[@bs.module "fs-extra"] external copySyncExternal : (string, string, copyOpts) => unit = "copySync"; | |
let copySync = (~overwrite=?, ~errorOnExist=?, ~dereference=?, ~preserveTimestamps=?, ~filter:option(string => bool)=?, | |
src: string, dest: string) => |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# OPTIONS --postfix-projections #-} | |
module Preorders where | |
open import Level | |
open import Data.Unit hiding (_≤_) | |
open import Data.Product hiding (map) | |
open import Function hiding (id) | |
open import Relation.Binary public using (Reflexive; Transitive; Symmetric; _=[_]⇒_) | |
import Relation.Binary.PropositionalEquality as Eq | |
open Eq using (_≡_) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE GADTs, TypeFamilies, EmptyDataDecls #-} | |
{- | |
A Haskell-based implementation of the monadic semantics for the | |
simply-typed Call-By-Name computational lambda calculus, following | |
Moggi's 'Computational lambda-calculus and monads' (1989) (technical report version) | |
but for the typed calculus (rather than untyped as in this paper). | |
Category theory seminar, Programming Languages and Systems group, |
NewerOlder