Skip to content

Instantly share code, notes, and snippets.

@darkf
darkf / ship.whatever
Created January 15, 2012 01:04
mockup program 2
# mockup of a game-oriented behavior modeling language, v1 (1/14/2012)
# copyright (c) 2012 darkf
playership <- Sprite(Vec2(64, 64)) # 64x64 sprite
enemyship <- Sprite(Vec2(64, 64))
projectiles <- List() # dynamic list
on playership:collide b do
if b is? enemyship do
# collided with enemy ship
@darkf
darkf / vm_draft.txt
Created January 31, 2012 17:30
Draft of a VM for a game modeling language
This is the virtual machine for a pure OO language based on game creation.
It is, at essence, a stack machine. There are no registers.
Instructions only have one argument, which can be an integer or a string.
Function arguments are pushed in reverse order, C-style. (e.g. x(1,2,3) is 3 2 1 x on the stack)
Methods always have at least one argument -- "self", which is just the current object.
Instructions:
sys_init ; initialize system stuff
@darkf
darkf / main.hx
Created February 11, 2012 05:22
Start of a HaXe canvas API
class Color
{
public var r : Int;
public var g : Int;
public var b : Int;
public function new(r=255, g=255, b=255)
{
this.r = r;
this.g = g;
@darkf
darkf / web-dsl-spec.txt
Created February 29, 2012 01:02
Web DSL for Possum, WIP
html
body {
p "hi there"
h1 ":)"
}
@darkf
darkf / p.py
Created March 8, 2012 22:14
Codegolf!
# copyright 2012 darkf
import sys;_,s,h=sys.argv;[open(x,'w').writelines([y for y in open(h)if x.strip()in y])for x in open(s)]
@darkf
darkf / main.fs
Created March 17, 2012 06:40
calculus assignment bs
(* Take a tree of expressions in and output the expression tree of the differentiation of it. (or something like that.)
Copyright (c) 2012 darkf
MIT license
*)
(* Assignment: http://pastebin.com/tiRVsxNx
Graphs: http://f.imgtmp.com/FOVY7.jpg
*)
type Node =
@darkf
darkf / short.py
Created April 11, 2012 04:36
nanoshorten
# nanoshorten - a very tiny URL shortener Web application written in Bottle and sqlite
# copyright (c) 2012 darkf
# licensed under the WTFPL (WTF Public License)
# see http://sam.zoy.org/wtfpl/ for details
from bottle import get, request, run
import sqlite3, random, string
con = sqlite3.connect('short.db')
c = con.cursor()
@darkf
darkf / build_index.py
Created April 24, 2012 02:33
Very basic text indexer/searcher in Python
import sys, os, glob, re, pickle
if len(sys.argv) != 2:
print "USAGE: %s DIR" % sys.argv[0]
sys.exit(1)
INDEX = {}
FILES = []
for path,_,dirs in os.walk(sys.argv[1]):
@darkf
darkf / vm.txt
Created April 27, 2012 23:39
VM Architecture
PC:
- 1024x768 VGA device; stored in memory from 0x00000000 to 0x00300000 (3,145,728 i.e. 1024x768 @ 32 bpp)
- BIOS using interrupt 0; has text rendering capabilities, among other things
RAM:
- Dynamically sized - default is 32mb
- Smallest addressable unit is the byte (8 bits)
- Address from VRAM's end to the next 16mb is stack space
- Memory from stack's end to the next 4096 bytes is reserved for the ROM (e.g. bootloader)
- Rest of address space is contiguous
@darkf
darkf / main.fs
Created April 30, 2012 01:09
Very simple type generator (annotates ASTs with approximate types)
module Prog
type Node = Call of string * Node * Node
| Str of string
| Int of int
| Binop of string * Node * Node
type Type = FunType of Type * Type
| StrType
| IntType