Skip to content

Instantly share code, notes, and snippets.

@draegtun
Created June 7, 2011 08:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save draegtun/1011880 to your computer and use it in GitHub Desktop.
Save draegtun/1011880 to your computer and use it in GitHub Desktop.
Execute statements (ie. messages) in reverse
#!/usr/bin/env io
# see : http://news.ycombinator.com/item?id=2144880
executeInReverse := method (
m := call argAt(0)
stmts := list() // list of statements (ie. messages)
loop (
rest := m next // rest of messages after current
stmts append(m setNext) // get current message
m := rest
if (m == nil, break) // exhausted statements when "nil"
)
stmts reverseForeach (n, doMessage(n))
)
executeInReverse( writeln("Hi") writeln("Middle") writeln("Bye") )
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment