I hereby claim:
- I am lukechampine on github.
- I am lukechampine (https://keybase.io/lukechampine) on keybase.
- I have a public key whose fingerprint is 99C2 18A7 FA3C C119 562B D6C5 A5C1 CE07 4CBF 1D60
To claim this, I am signing this object:
package main | |
import ( | |
"encoding/json" | |
"io/ioutil" | |
"log" | |
"os" | |
"github.com/NebulousLabs/Sia/encoding" | |
"github.com/NebulousLabs/Sia/persist" |
I hereby claim:
To claim this, I am signing this object:
The Y Combinator is a classic lambda calculus construct that many people find baffling. Here's my attempt to explain it as clearly as possible (no promises!). Familiarity with Haskell syntax is assumed.
The problem we're trying to solve is how to write an anonymous function (a "lambda") that is recursive. Normally, if you want to write a recursive function, it looks like this:
fac n = if n == 0 then 1
else n * fac (n-1)
#include<stdio.h> | |
#include<string.h> | |
#include<stdlib.h> | |
#include<sys/mman.h> | |
typedef void V;typedef int I;typedef double F;typedef unsigned char C,*S;typedef long L; | |
#define O printf | |
#define R return | |
#define I(a...) if(a) | |
#define W(a...) while(a) |
This is a handy reference for setting up and using git to contribute to projects on GitHub. It is by no means a complete guide to using git; use http://gitref.org for that.
Update: This site provides some excellent visualizations of what various git commands do. Highly recommended.
First run the following commands, using your real name and GitHub email address: