February 2012
1 post
January 2012
3 posts
Parser Combinators Made Simple →
Explanation of parser combinators with example implementations in Python.
Compiling Scheme to C with flat closure conversion →
You are going to make a compiler right here on these web pages. Yes - no...
– Tutorial: Metacompilers Part 1
December 2011
2 posts
FizzBuzz in Ruby, as untyped lambda calculus and...
Using just Proc.new and Proc#call, using Church encoding of numerals and untyped lambda calculus, FizzBuzz represented in Ruby 1.9:
-> k { -> f { -> f { -> x { f[-> y { x[x][y] }] }[-> x { f[-> y { x[x][y] }] }] }[-> f { -> l { -> x { -> g { -> b { b }[-> p { p[-> x { -> y { x } } ] }[l]][x][-> y { g[f[-> l { -> p { p[-> x { -> y { y } }...
November 2011
3 posts
brid.js →
brid.js is a Lisp implementation in JavaScript that uses JSON for notation instead of S-expressions.
maru →
Maru is a symbolic expression evaluator that can compile its own implementation language.
Atomy Programming Language →
Runs on the Rubinius VM, and is a direct descendant of Atomo. Other inspiration comes from Lisp-family languages, with macros and conditions; Haskell, with pattern matching and algebraic data; and Erlang, with with a message-sending concurrency model.
October 2011
1 post
Dart: Structured web programming →
Programming language focused on web application development. Another curly brace and semicolon language to add to the gnarled family tree.
September 2011
1 post
August 2011
3 posts
2 tags
/home/vk/misc: SICP is Under Attack →
vedantk:
It’s official. UC Berkeley will soon join MIT and several other universities in abandoning Structure and Interpretation of Computer Programs, widely regarded as one of the best textbooks in computer science, in favor of alternative material covering Python. This is a mistake. SICP is…
June 2011
4 posts
Video for True Love by Said the Shark, illustrated by Don Kenn.
harryvangberg:
“Io is worth learning just to see what a clean prototype-based language feels like. It’ll probably improve your understanding of Javascript.” — hassy @ Hacker News
As a side effect, you’ll really start to despise the fact that Javascript doesn’t have a native clone function, nor is there any agreement on where an application-created one should go. Not that the idea...
Strange Loops: Ken Thompson and the... →
April 2011
12 posts
Kona: open-source K implementation. →
Kona is an open-source implementation of the K programming language, a proprietary language of the APL family that uses the standard ASCII character set. K is noted for it’s succinctness and the sense of dread felt at one’s first glance.
Kona’s wiki maintains solutions for the Project Euler problems in K, some with more detailed explanations. The first problem on Project Euler...
The best to-do list. ever.
harryvangberg:
Raphters: A web framework for C →
thechangelog:
For those that thought C had been delegated to the internals of your
mobile devices or favorite database engine, Daniel
Waterworth wants to string you up by
the Raphters.
Raphters is a web framework written in C. Yes you heard that right, a
shiny new framework for the web written in everybody’s favorite
close-to-the-metal programming language. The project gets its name...
Installing SciPy on Mac OSX 10.6.
Installing SciPy on OSX isn’t very straightforward. Here’s a quick way to get started. If you’re starting from scratch, you’ll need Xcode installed, as well as some package managers: homebrew, the OSX package manager; and pip, the Python package manager. Skip any steps you may have taken care of on your system already.
First, install homebrew like so:
$ ruby -e "$(curl...
Pow: zero-config Rack server for OSX. →
Pow is a Rack web server for OSX. It adds a top-level domain .dev to your DNS resolver, which matches folders in your ~/Projects directory: ~/Projects/myapp would map to http://myapp.dev. Last October I went about adding a top-level domain in a slightly more convoluted way, that was somewhat language agnostic.
How to Catch Mew in Pokemon Red, Blue, and Yellow →
A walkthrough for obtaining the Pokemon Mew in the first-generation Gameboy games. It also includes the technical details in how it works. In a nutshell: the games store which Pokemon gets encountered in a random battle and the Special stat of enemy Pokemon trainers’ Pokemon in the same memory location. By interrupting the game state, you can control the next wild Pokemon you encounter by...
LÖVE - Free 2D Game Engine →
LÖVE is a 2D game development system that allows you to write multi-platform games with the Lua programming language. It also provides bindings for the SDL multimedia library and the Box2D physics engine to make creating games super easy and fun.
March 2011
1 post
Itsy-OS Kernel: Premptive Switcher & Memory...
In a mere 380 bytes, Itsy implements an operating system kernel with memory management and pre-emptive task switching. From the website:
Itsy-OS v0.1 is a small 8086 operating system kernel providing two basic services: a simple preemptive task switcher and memory management. If necessary, simple IPC and task management can be added to provide the features of a traditional microkernel.
February 2011
2 posts
January 2011
5 posts
The Frink programming language. →
Frink is a programming language for working with weights and measures, unit conversions, and arbitrary-precision calculations. It has an immense set of built-in units that include such useful things as bushels and hogsheads, as well as everyday constants like Avogadro’s number and Planck length. To get a quick idea of the power of Frink, check the sample calculations. Why they are not...
Pharen →
Pharen is a Lisp-family language that compiles to PHP.
Domain transfer.
My web site and tumblr were unavailable after I switched my domain from GoDaddy to iWantMyName. They’re back now.
December 2010
3 posts
(How to Write a (Lisp) Interpreter (in Python)) →
An easy to understand, and refreshingly brief, implementation of a simple Lisp in Python.
A toy Factor implementation. →
A very small toy implementation of Factor in Python. Supports quotations, numbers, and word definitions. It also has tail calls.
November 2010
1 post
jdp on nyhacker.org →
nyhacker.org is a collective focused on those who enjoy creating things based out of New York City, and I’m lucky enough to be a part of them. I’m ashamed that my profile is currently next to empty, but that should be fixed soon. If you’re following along and are based in New York, take a look around and join in if you wish. You’re all invited.
October 2010
1 post
Setting up a top-level development environment.
A lot of my personal projects are built with PHP. It’s very easy to prototype and get something moving quickly. I still love working with it, but one of its biggest pain points is that it’s almost always a server module on something like Apache or Lighttpd, and thus applications are run out of directories in your document root. That becomes a problem when working with resources and...
September 2010
3 posts
batari Basic →
batari Basic (bB) is a BASIC-like language for creating Atari 2600 games. It is a compiled language and the compiler runs on a computer, but it creates a binary file that can be run on an Atari 2600 emulator or used to make a cartridge that will operate on a real Atari 2600.
htty, the HTTP TTY →
The most full-featured HTTP console I’ve come across, and it’s still a very new project. Immensely useful when working with and developing web services.
Rocket Engine →
Rocket Engine is a game creation system built on top of JavaScript that supports porting created games to PC, iOS, and Android.
August 2010
3 posts
Halo for the Atari 2600. →
Design to Annoy →
An experiment in package design to discourage use of harmful products by making their packaging impractical and awkward.
July 2010
3 posts
eForth and Zen →
The first chapter of eForth and Zen. Some opening thoughts:
Forth is often mentioned not only as a computer language but also a religion because of its fervorish followers. Among religions Zen is considered to be the closest to Forth. As popularly known Zen is understood as a synonym of simplicity, brevity, light, understanding, wisdom and enlightenment. These are also attributes to Forth as a...