Skip to content

Instantly share code, notes, and snippets.

import sys
def retr(item):
return({ type('') : lambda x: sys.stdout.write(x+'\n'),
type([]) : lambda item: ''.join(retr(x) for x in item)
}[type(item)](item))
retr('lol')
@mvanveen
mvanveen / lisp.hs
Created May 2, 2011 02:26
Minimal Lisp in Haskell
{-# LANGUAGE OverloadedStrings #-}
{- To Run:
Load in ghci
:set -XOverloadedStrings (for convenience)
Execute repl expr -}
import Control.Applicative
import Data.Attoparsec hiding (Result)
import Data.Attoparsec.Char8 (char8, isDigit_w8, isSpace_w8)
@mvanveen
mvanveen / codegen.py
Created October 25, 2011 06:32 — forked from mattbasta/codegen.py
A module to "unparse" a Python AST tree.
# -*- coding: utf-8 -*-
"""
codegen
~~~~~~~
Extension to ast that allow ast -> python code generation.
:copyright: Copyright 2008 by Armin Ronacher.
:license: BSD.
"""
@mvanveen
mvanveen / human_enum.py
Created February 27, 2012 07:43 — forked from anthonywu/human_enum.py
Python Human Enums
"""
Copyright (c) 2012 Anthony Wu, twitter.com/anthonywu
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions: