 # TODO: handle input
 
 # ## Evaluate
+
+# (ast : tree String) -> unit
 evaluate = (ast) ->
   evaluateBlock ast
 


# # Main
program = "
  +++++ +++++             initialize counter (cell #0) to 10
  [                       use loop to set the next four cells to 70/100/30/10
      > +++++ ++              add  7 to cell #1
      > +++++ +++++           add 10 to cell #2
      > +++                   add  3 to cell #3
      > +                     add  1 to cell #4
      <<<< -                  decrement counter (cell #0)
  ]
  > ++ .                  print 'H'
  > + .                   print 'e'
  +++++ ++ .              print 'l'
  .                       print 'l'
  +++ .                   print 'o'
  > ++ .                  print ' '
  << +++++ +++++ +++++ .  print 'W'
  > .                     print 'o'
  +++ .                   print 'r'
  ----- - .               print 'l'
  ----- --- .             print 'd'
  > + .                   print '!'
  > .                     print '\n'
"
console.log "-*- Input Program -*-"

      environment[pointer]--
    when OUTPUT_BYTE
      console.log(String.fromCharCode(environment[pointer]))
    when INPUT_BYTE
      console.log "(Should prompt user)"
      # prompt("Input:")

isCommand = (child) -> typeof child is 'string'
isBlock = (child) -> typeof child is 'object'
