JavaScript
var cmp = function(v1, v2) { return v1 == v2; };
var vals = [
["null", function() { return null; }],
["undefined", function() { return undefined; }],
["false", function() { return false; }],
['"false"', function() { return "false"; }],
["Boolean(false)", function() { return new Boolean(false); }],
["[]", function() { return []; }],
["[[]]", function() { return [[]]; }],
['""', function() { return ""; }],
['String("")',function(){return new String('')}],
["0", function() { return 0; }],
["Number(0)",function(){return new Number(0)}],
['"0"', function() { return "0"; }],
['String("0")',function(){return new String('0')}],
["[0]", function() { return [0]; }],
["true", function() { return true; }],
['"true"', function() { return "true"; }],
["Boolean(true)", function() { return new Boolean(true); }],
["1",function() { return 1; }],
["Number(1)",function(){return new Number(1)}],
['"1"', function() { return "1"; }],
['String("1")',function(){return new String('1')}],
["[1]", function() { return [1]; }],
["-1", function() { return -1; }],
["Number(-1)",function(){return new Number(-1)}],
['"-1"', function() { return "-1"; }],
['String("-1")',function(){return new String('-1')}],
["[-1]", function() { return [-1]; }],
["Infinity", function() { return Infinity; }],
["-Infinity", function() { return -Infinity; }],
["{}", function() { return {}; }],
["NaN", function() { return NaN; }]
];
var canvas = document.getElementById("drawCanvas");
var ctx = canvas.getContext("2d");
var n = vals.length;
var r = 40; // diameter of grid squares
var p = 160; // padding space for labels
// color grid cells
for (var i = 0; i < n; i++) {
var v1 = vals[i][1]();
for (var j = 0; j < n; j++) {
var v2 = vals[j][1]();
var eq = cmp(v1, v2);
ctx.fillStyle = eq ? "orange"...