Public
Edited
Jul 25, 2023
Insert cell
Insert cell
relay_on = (a, b) => a && b;
Insert cell
relay_off = (a, b) => !a && b;
Insert cell
nand = (a, b) => relay_off(relay_on(a, b), true);
Insert cell
invert = (a) => nand(a, a);
Insert cell
and = (a, b) => invert(nand(a, b));
Insert cell
or = (a, b) => nand(invert(a), invert(b));
Insert cell
xor = (a, b) => nand(nand(a, nand(a, b)), nand(nand(a, b), b));
Insert cell
half_add = (a, b) => [invert(nand(a, b)), nand(nand(a, nand(a, b)), nand(nand(a, b), b))]
Insert cell
full_add = (a, b, c) => half_add()[1]
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more