Skip to content

Instantly share code, notes, and snippets.

View bullno1's full-sized avatar
💭
Set your status

Bach Le bullno1

💭
Set your status
View GitHub Profile
@bullno1
bullno1 / schema.js
Created July 28, 2012 14:40
JSON schema validation
number = function(x) { return getType(x) == 'number'; }
string = function(x) { return getType(x) == 'string'; }
//combinators
function or() {
var len = arguments.length;
var args = arguments;
return function(x) {
for(var i = 0; i < len; ++i) {
if(validate(args[i], x)) return true;//satisfy at least one condition
@bullno1
bullno1 / main.cpp
Created November 10, 2011 17:11
Dual number and auto differentiation in C++
#include <iostream>
template<typename Scalar>
class DualNumber
{
public:
inline DualNumber(const Scalar& realPart, const Scalar& dualPart = Scalar())
:mReal(realPart)
,mDual(dualPart)
{
@bullno1
bullno1 / test.rkt
Created October 8, 2011 12:10
Yo Dawg Scheme Interpreter
(load "yo_dawg.rkt")
(define test-fib
'[(define (fib n)
(if (<= n 2)
1
(+ (fib (- n 1)) (fib (- n 2)))))
(fib 6)])
(evaluate-block test-fib)
@bullno1
bullno1 / tail_recursion.cpp
Created October 2, 2011 06:34
Tail recursion in C++11
#include <iostream>
#include <functional>
template<typename ReturnType, typename Arg1>
struct tail_call_result
{
template<typename FuncType>
inline tail_call_result(FuncType func, Arg1 arg)
:func(func)
,argument(arg)