=== Embedded Programming == I have written a tabs to spaces converter in Whitespace [1] and embedded [2] it into this comment. You'll need the Python interpreter from [3] because the Haskell one doesn't report EOFs nicely. Usage: python main.py file-containing-this-comment < file-with-tabs > file-with-spaces I have included the dissambled [4] code below for your convenience. Hopefully the blog software doesn't discard the (extremely meaningful) whitespace in this comment! [1] http://compsoc.dur.ac.uk/whitespace/ [2] http://compsoc.dur.ac.uk/whitespace/tools.php [3] http://www.mrphlip.com/pywhitespace.tar.bz2 [4] http://yagni.com/whitespace/index.html === Source Code === label 1 # read a char and put copies on the stack push 0 readchar push 0 retrieve # compate to EOF and jump to end if it matches dup push -1 sub jz 5 # compare to \t and jump to 3 if it matches dup push 9 sub jz 3 jump 2 # non-tab label 2 outchar jump 4 # tab label 3 discard push 32 dup dup dup outchar outchar outchar outchar jump 4 # goto start label 4 jump 1 # end label 5 exit