Skip to content

Instantly share code, notes, and snippets.

View donnut's full-sized avatar

Erwin Poeze donnut

  • Amsterdam, The Netherlands
View GitHub Profile
<html>
<head>
<script type="text/javascript" src="bower_components/monet/src/main/javascript/monet.js"></script>
<script type="text/javascript" src="bower_components/jquery/dist/jquery.js"></script>
<script>
window.onload= function() {
var read = IO(function(id) {
return $(id).val();
});
var BVT = function(width, depth, init, elems) {
this._width = width;
this._depth = depth;
this._leaf = depth === 1;
this._shift = (this._depth - 1) * Math.round(Math.log(width) / Math.log(2));
this._himask = this._width - 1;
this._lomask = Math.pow(2, this._shift) - 1;
this._elems = elems;
@donnut
donnut / pickcard.ts
Created September 10, 2014 10:49
Typescript function overloading
var suits = ["hearts", "spades", "clubs", "diamonds"];
function pickCard(x: {suit: string; card: number; }[]): number;
function pickCard(x: number): {suit: string; card: number; };
function pickCard(x): any {
if (typeof x == "object") {
var pickedCard = Math.floor(Math.random() * x.length);
//return pickedCard;
return 'notANumber';
/// <reference path='dst/ramda.d.ts' />
import R = require('ramda');
import Basic = require('./base');
import Base = Basic.Base;
module Bar {
export function bar(s: string): Base {
return {
step: stepBar(s),
@donnut
donnut / bar.js
Created September 20, 2014 11:08
Code Revisions 2 Embed URL HTTPS clone URL You can clone with HTTPS or SSH. Typescript implementation of https://github.com/Dobiasd/articles/blob/master/from_oop_to_fp_-_inheritance_and_the_expression_problem.md
var R = require('ramda');
var Bar;
(function (Bar) {
function bar(s) {
return {
step: stepBar(s),
display: displayBar(s)
};
}
@donnut
donnut / index.js
Created October 1, 2014 13:10
requirebin sketch
// hello world
var R = require('ramda');
var assert = require('assert');
var obj = {person: {name: 'Joe'}};
var clone = R.cloneObj(obj);
assert.deepEqual(clone, obj);
@donnut
donnut / index.js
Last active August 29, 2015 14:07
requirebin sketch
var domify = require('domify')
var R = require('ramda');
var assert = require('assert');
var obj = {person: {name: 'Joe'}};
var clone = R.cloneObj(obj);
clone.person.name = 'Doe';
document.body.appendChild(domify(obj.person.name + ": should be Joe"));
@donnut
donnut / gist:d9d9be2361797740d171
Last active August 29, 2015 14:07
deep copy prototype
Prototypical description of a deep copy method
deepCopy:: a -> b
copyDate:: Date -> Date
a == Number ? s = a:
a == String ? b = a:
a == Boolean ? b = a:
a == Function ? b = a: // remains by reference
a == Date ? b = copyDate a:
@donnut
donnut / index.js
Created October 6, 2014 14:04
requirebin sketch
var R = require('ramda');
function Maybe(x) {
if (!(this instanceof Maybe)) {
return new Maybe(x);
}
this.value = x;
}
Maybe.of = function(x) {
@donnut
donnut / index.js
Created October 6, 2014 14:09
requirebin sketch
var R = require('ramda');
function Maybe(x) {
if (!(this instanceof Maybe)) {
return new Maybe(x);
}
this.value = x;
}
Maybe.of = function(x) {