Skip to content

Instantly share code, notes, and snippets.

View rainoftime's full-sized avatar
💭
I may be slow to respond.

rainoftime rainoftime

💭
I may be slow to respond.
View GitHub Profile
#coding: utf-8
import os
import subprocess
import time
import argparse
import random
import shutil
import sys
import itertools
import signal
@rainoftime
rainoftime / lisp.rb
Last active August 29, 2015 13:57
Lisp in Ruby within 60 lines
class Env < Hash
def initialize(keys=[], vals=[], outer=nil)
@outer = outer
keys.zip(vals).each{|p| store(*p)}
end
def [](name) super(name) || @outer[name] end
def set(name, value) key?(name) ? store(name, value) : @outer.set(name, value) end
end
def add_globals(env)