Skip to content

Instantly share code, notes, and snippets.

@Vaguery
Created March 14, 2015 22:36
Show Gist options
  • Select an option

  • Save Vaguery/f2fcf15496720419146c to your computer and use it in GitHub Desktop.

Select an option

Save Vaguery/f2fcf15496720419146c to your computer and use it in GitHub Desktop.
pushforth interpreter written in pushforth, running a pushforth interpreter that adds 1+1
# in the context of pushforth-ruby
runner = PushForth.new([[[[]],[:eval,:dup,:car],:while],[[[[]],[:eval,:dup,:car],:while],[[1,1,:add]]]])
trace = 1000.times.collect {runner.step!.stack}
# trace: (at least the first part)
# [[[:eval, :dup, :car], :while], [[]], [[[[]], [:eval, :dup, :car], :while], [[1, 1, :add]]]]
# [[:while], [:eval, :dup, :car], [[]], [[[[]], [:eval, :dup, :car], :while], [[1, 1, :add]]]]
# [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[[[]], [:eval, :dup, :car], :while], [[1, 1, :add]]]]
# [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[[:eval, :dup, :car], :while], [[]], [[1, 1, :add]]]]
# [[:car, [[:eval, :dup, :car], :while], :enlist], [[[:eval, :dup, :car], :while], [[]], [[1, 1, :add]]], [[[:eval, :dup, :car], :while], # [[]], [[1, 1, :add]]]]
# [[[[:eval, :dup, :car], :while], :enlist], [[:eval, :dup, :car], :while], [[[:eval, :dup, :car], :while], [[]], [[1, 1, :add]]]]
# [[:enlist], [[:eval, :dup, :car], :while], [[:eval, :dup, :car], :while], [[[:eval, :dup, :car], :while], [[]], [[1, 1, :add]]]]
# [[[:eval, :dup, :car], :while], [[:eval, :dup, :car], :while], [[[:eval, :dup, :car], :while], [[]], [[1, 1, :add]]]]
# [[:while], [:eval, :dup, :car], [[:eval, :dup, :car], :while], [[[:eval, :dup, :car], :while], [[]], [[1, 1, :add]]]]
# [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[[:eval, :dup, :car], :while], [[]], [[1, 1, :add]]]]
# [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:while], [:eval, :dup, :car], [[]], [[1, 1, :add]]]]
# [[:car, [[:eval, :dup, :car], :while], :enlist], [[:while], [:eval, :dup, :car], [[]], [[1, 1, :add]]], [[:while], [:eval, :dup, :car], # [[]], [[1, 1, :add]]]]
# [[[[:eval, :dup, :car], :while], :enlist], [:while], [[:while], [:eval, :dup, :car], [[]], [[1, 1, :add]]]]
# [[:enlist], [[:eval, :dup, :car], :while], [:while], [[:while], [:eval, :dup, :car], [[]], [[1, 1, :add]]]]
# [[[:eval, :dup, :car], :while], [:while], [[:while], [:eval, :dup, :car], [[]], [[1, 1, :add]]]]
# [[:while], [:eval, :dup, :car], [:while], [[:while], [:eval, :dup, :car], [[]], [[1, 1, :add]]]]
# [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:while], [:eval, :dup, :car], [[]], [[1, 1, :add]]]]
# [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[1, 1, :add]]]]
# [[:car, [[:eval, :dup, :car], :while], :enlist], [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[1, 1, :add]]], [[:eval, # :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[1, 1, :add]]]]
# [[[[:eval, :dup, :car], :while], :enlist], [:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:eval, :dup, :car, [[:eval, :dup# , :car], :while], :enlist], [[1, 1, :add]]]]
# [[:enlist], [[:eval, :dup, :car], :while], [:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:eval, :dup, :car, [[:eval, :dup# , :car], :while], :enlist], [[1, 1, :add]]]]
# [[[:eval, :dup, :car], :while], [:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:eval, :dup, :car, [[:eval, :dup, :car], # :while], :enlist], [[1, 1, :add]]]]
# [[:while], [:eval, :dup, :car], [:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:eval, :dup, :car, [[:eval, :dup, :car], # :while], :enlist], [[1, 1, :add]]]]
# [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[1, 1, # :add]]]]
# [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[1, :add], 1]]]
# [[:car, [[:eval, :dup, :car], :while], :enlist], [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[1, :add], 1]], [[:dup, :car, [[# :eval, :dup, :car], :while], :enlist], [[1, :add], 1]]]
# [[[[:eval, :dup, :car], :while], :enlist], [:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:dup, :car, [[:eval, :dup, :car], # :while], :enlist], [[1, :add], 1]]]
# [[:enlist], [[:eval, :dup, :car], :while], [:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:dup, :car, [[:eval, :dup, :car], # :while], :enlist], [[1, :add], 1]]]
# [[[:eval, :dup, :car], :while], [:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:dup, :car, [[:eval, :dup, :car], :while], # :enlist], [[1, :add], 1]]]
# [[:while], [:eval, :dup, :car], [:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:dup, :car, [[:eval, :dup, :car], :while], # :enlist], [[1, :add], 1]]]
# [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[1, :add], 1]]]
# [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:car, [[:eval, :dup, :car], :while], :enlist], [[1, :add], 1], [[1, :add], 1]]]
# [[:car, [[:eval, :dup, :car], :while], :enlist], [[:car, [[:eval, :dup, :car], :while], :enlist], [[1, :add], 1], [[1, :add], 1]], [[:car, # [[:eval, :dup, :car], :while], :enlist], [[1, :add], 1], [[1, :add], 1]]]
# [[[[:eval, :dup, :car], :while], :enlist], [:car, [[:eval, :dup, :car], :while], :enlist], [[:car, [[:eval, :dup, :car], :while], :enlist]# , [[1, :add], 1], [[1, :add], 1]]]
# [[:enlist], [[:eval, :dup, :car], :while], [:car, [[:eval, :dup, :car], :while], :enlist], [[:car, [[:eval, :dup, :car], :while], :enlist]# , [[1, :add], 1], [[1, :add], 1]]]
# [[[:eval, :dup, :car], :while], [:car, [[:eval, :dup, :car], :while], :enlist], [[:car, [[:eval, :dup, :car], :while], :enlist], [[1, # :add], 1], [[1, :add], 1]]]
# [[:while], [:eval, :dup, :car], [:car, [[:eval, :dup, :car], :while], :enlist], [[:car, [[:eval, :dup, :car], :while], :enlist], [[1, # :add], 1], [[1, :add], 1]]]
# [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:car, [[:eval, :dup, :car], :while], :enlist], [[1, :add], 1], [[1, :add], # 1]]]
# [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[[[:eval, :dup, :car], :while], :enlist], [1, :add], [[1, :add], 1]]]
# [[:car, [[:eval, :dup, :car], :while], :enlist], [[[[:eval, :dup, :car], :while], :enlist], [1, :add], [[1, :add], 1]], [[[[:eval, :dup, # :car], :while], :enlist], [1, :add], [[1, :add], 1]]]
# [[[[:eval, :dup, :car], :while], :enlist], [[[:eval, :dup, :car], :while], :enlist], [[[[:eval, :dup, :car], :while], :enlist], [1, :add], # [[1, :add], 1]]]
# [[:enlist], [[:eval, :dup, :car], :while], [[[:eval, :dup, :car], :while], :enlist], [[[[:eval, :dup, :car], :while], :enlist], [1, :add], # [[1, :add], 1]]]
# [[[:eval, :dup, :car], :while], [[[:eval, :dup, :car], :while], :enlist], [[[[:eval, :dup, :car], :while], :enlist], [1, :add], [[1, :add]# , 1]]]
# [[:while], [:eval, :dup, :car], [[[:eval, :dup, :car], :while], :enlist], [[[[:eval, :dup, :car], :while], :enlist], [1, :add], [[1, :add]# , 1]]]
# [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[[[:eval, :dup, :car], :while], :enlist], [1, :add], [[1, :add], 1]]]
# [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:enlist], [[:eval, :dup, :car], :while], [1, :add], [[1, :add], 1]]]
# [[:car, [[:eval, :dup, :car], :while], :enlist], [[:enlist], [[:eval, :dup, :car], :while], [1, :add], [[1, :add], 1]], [[:enlist], [[# :eval, :dup, :car], :while], [1, :add], [[1, :add], 1]]]
# [[[[:eval, :dup, :car], :while], :enlist], [:enlist], [[:enlist], [[:eval, :dup, :car], :while], [1, :add], [[1, :add], 1]]]
# [[:enlist], [[:eval, :dup, :car], :while], [:enlist], [[:enlist], [[:eval, :dup, :car], :while], [1, :add], [[1, :add], 1]]]
# [[[:eval, :dup, :car], :while], [:enlist], [[:enlist], [[:eval, :dup, :car], :while], [1, :add], [[1, :add], 1]]]
# [[:while], [:eval, :dup, :car], [:enlist], [[:enlist], [[:eval, :dup, :car], :while], [1, :add], [[1, :add], 1]]]
# [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:enlist], [[:eval, :dup, :car], :while], [1, :add], [[1, :add], 1]]]
# [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[[:eval, :dup, :car], :while], [1, :add], [[1, :add], 1]]]
# [[:car, [[:eval, :dup, :car], :while], :enlist], [[[:eval, :dup, :car], :while], [1, :add], [[1, :add], 1]], [[[:eval, :dup, :car], # :while], [1, :add], [[1, :add], 1]]]
# [[[[:eval, :dup, :car], :while], :enlist], [[:eval, :dup, :car], :while], [[[:eval, :dup, :car], :while], [1, :add], [[1, :add], 1]]]
# [[:enlist], [[:eval, :dup, :car], :while], [[:eval, :dup, :car], :while], [[[:eval, :dup, :car], :while], [1, :add], [[1, :add], 1]]]
# [[[:eval, :dup, :car], :while], [[:eval, :dup, :car], :while], [[[:eval, :dup, :car], :while], [1, :add], [[1, :add], 1]]]
# [[:while], [:eval, :dup, :car], [[:eval, :dup, :car], :while], [[[:eval, :dup, :car], :while], [1, :add], [[1, :add], 1]]]
# [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[[:eval, :dup, :car], :while], [1, :add], [[1, :add], 1]]]
# [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:while], [:eval, :dup, :car], [1, :add], [[1, :add], 1]]]
# [[:car, [[:eval, :dup, :car], :while], :enlist], [[:while], [:eval, :dup, :car], [1, :add], [[1, :add], 1]], [[:while], [:eval, :dup, # :car], [1, :add], [[1, :add], 1]]]
# [[[[:eval, :dup, :car], :while], :enlist], [:while], [[:while], [:eval, :dup, :car], [1, :add], [[1, :add], 1]]]
# [[:enlist], [[:eval, :dup, :car], :while], [:while], [[:while], [:eval, :dup, :car], [1, :add], [[1, :add], 1]]]
# [[[:eval, :dup, :car], :while], [:while], [[:while], [:eval, :dup, :car], [1, :add], [[1, :add], 1]]]
# [[:while], [:eval, :dup, :car], [:while], [[:while], [:eval, :dup, :car], [1, :add], [[1, :add], 1]]]
# [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:while], [:eval, :dup, :car], [1, :add], [[1, :add], 1]]]
# [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[1, :add], 1]]]
# [[:car, [[:eval, :dup, :car], :while], :enlist], [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[1, :add], 1]], [[:eval, # :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[1, :add], 1]]]
# [[[[:eval, :dup, :car], :while], :enlist], [:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:eval, :dup, :car, [[:eval, :dup# , :car], :while], :enlist], [[1, :add], 1]]]
# [[:enlist], [[:eval, :dup, :car], :while], [:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:eval, :dup, :car, [[:eval, :dup# , :car], :while], :enlist], [[1, :add], 1]]]
# [[[:eval, :dup, :car], :while], [:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:eval, :dup, :car, [[:eval, :dup, :car], # :while], :enlist], [[1, :add], 1]]]
# [[:while], [:eval, :dup, :car], [:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:eval, :dup, :car, [[:eval, :dup, :car], # :while], :enlist], [[1, :add], 1]]]
# [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[1, :add], # 1]]]
# [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:add], 1, 1]]]
# [[:car, [[:eval, :dup, :car], :while], :enlist], [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:add], 1, 1]], [[:dup, :car, [[# :eval, :dup, :car], :while], :enlist], [[:add], 1, 1]]]
# [[[[:eval, :dup, :car], :while], :enlist], [:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:dup, :car, [[:eval, :dup, :car], # :while], :enlist], [[:add], 1, 1]]]
# [[:enlist], [[:eval, :dup, :car], :while], [:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:dup, :car, [[:eval, :dup, :car], # :while], :enlist], [[:add], 1, 1]]]
# [[[:eval, :dup, :car], :while], [:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:dup, :car, [[:eval, :dup, :car], :while], # :enlist], [[:add], 1, 1]]]
# [[:while], [:eval, :dup, :car], [:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:dup, :car, [[:eval, :dup, :car], :while], # :enlist], [[:add], 1, 1]]]
# [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:add], 1, 1]]]
# [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:car, [[:eval, :dup, :car], :while], :enlist], [[:add], 1, 1], [[:add], 1, 1]]]
# [[:car, [[:eval, :dup, :car], :while], :enlist], [[:car, [[:eval, :dup, :car], :while], :enlist], [[:add], 1, 1], [[:add], 1, 1]], [[:car, # [[:eval, :dup, :car], :while], :enlist], [[:add], 1, 1], [[:add], 1, 1]]]
# [[[[:eval, :dup, :car], :while], :enlist], [:car, [[:eval, :dup, :car], :while], :enlist], [[:car, [[:eval, :dup, :car], :while], :enlist]# , [[:add], 1, 1], [[:add], 1, 1]]]
# [[:enlist], [[:eval, :dup, :car], :while], [:car, [[:eval, :dup, :car], :while], :enlist], [[:car, [[:eval, :dup, :car], :while], :enlist]# , [[:add], 1, 1], [[:add], 1, 1]]]
# [[[:eval, :dup, :car], :while], [:car, [[:eval, :dup, :car], :while], :enlist], [[:car, [[:eval, :dup, :car], :while], :enlist], [[:add], # 1, 1], [[:add], 1, 1]]]
# [[:while], [:eval, :dup, :car], [:car, [[:eval, :dup, :car], :while], :enlist], [[:car, [[:eval, :dup, :car], :while], :enlist], [[:add], # 1, 1], [[:add], 1, 1]]]
# [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:car, [[:eval, :dup, :car], :while], :enlist], [[:add], 1, 1], [[:add], 1, # 1]]]
# [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[[[:eval, :dup, :car], :while], :enlist], [:add], [[:add], 1, 1]]]
# [[:car, [[:eval, :dup, :car], :while], :enlist], [[[[:eval, :dup, :car], :while], :enlist], [:add], [[:add], 1, 1]], [[[[:eval, :dup, # :car], :while], :enlist], [:add], [[:add], 1, 1]]]
# [[[[:eval, :dup, :car], :while], :enlist], [[[:eval, :dup, :car], :while], :enlist], [[[[:eval, :dup, :car], :while], :enlist], [:add], [[# :add], 1, 1]]]
# [[:enlist], [[:eval, :dup, :car], :while], [[[:eval, :dup, :car], :while], :enlist], [[[[:eval, :dup, :car], :while], :enlist], [:add], [[# :add], 1, 1]]]
# [[[:eval, :dup, :car], :while], [[[:eval, :dup, :car], :while], :enlist], [[[[:eval, :dup, :car], :while], :enlist], [:add], [[:add], 1, # 1]]]
# [[:while], [:eval, :dup, :car], [[[:eval, :dup, :car], :while], :enlist], [[[[:eval, :dup, :car], :while], :enlist], [:add], [[:add], 1, # 1]]]
# [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[[[:eval, :dup, :car], :while], :enlist], [:add], [[:add], 1, 1]]]
# [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:enlist], [[:eval, :dup, :car], :while], [:add], [[:add], 1, 1]]]
# [[:car, [[:eval, :dup, :car], :while], :enlist], [[:enlist], [[:eval, :dup, :car], :while], [:add], [[:add], 1, 1]], [[:enlist], [[:eval, # :dup, :car], :while], [:add], [[:add], 1, 1]]]
# [[[[:eval, :dup, :car], :while], :enlist], [:enlist], [[:enlist], [[:eval, :dup, :car], :while], [:add], [[:add], 1, 1]]]
# [[:enlist], [[:eval, :dup, :car], :while], [:enlist], [[:enlist], [[:eval, :dup, :car], :while], [:add], [[:add], 1, 1]]]
# [[[:eval, :dup, :car], :while], [:enlist], [[:enlist], [[:eval, :dup, :car], :while], [:add], [[:add], 1, 1]]]
# [[:while], [:eval, :dup, :car], [:enlist], [[:enlist], [[:eval, :dup, :car], :while], [:add], [[:add], 1, 1]]]
# [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:enlist], [[:eval, :dup, :car], :while], [:add], [[:add], 1, 1]]]
# [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[[:eval, :dup, :car], :while], [:add], [[:add], 1, 1]]]
# [[:car, [[:eval, :dup, :car], :while], :enlist], [[[:eval, :dup, :car], :while], [:add], [[:add], 1, 1]], [[[:eval, :dup, :car], :while], # [:add], [[:add], 1, 1]]]
# [[[[:eval, :dup, :car], :while], :enlist], [[:eval, :dup, :car], :while], [[[:eval, :dup, :car], :while], [:add], [[:add], 1, 1]]]
# [[:enlist], [[:eval, :dup, :car], :while], [[:eval, :dup, :car], :while], [[[:eval, :dup, :car], :while], [:add], [[:add], 1, 1]]]
# [[[:eval, :dup, :car], :while], [[:eval, :dup, :car], :while], [[[:eval, :dup, :car], :while], [:add], [[:add], 1, 1]]]
# [[:while], [:eval, :dup, :car], [[:eval, :dup, :car], :while], [[[:eval, :dup, :car], :while], [:add], [[:add], 1, 1]]]
# [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[[:eval, :dup, :car], :while], [:add], [[:add], 1, 1]]]
# [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:while], [:eval, :dup, :car], [:add], [[:add], 1, 1]]]
# [[:car, [[:eval, :dup, :car], :while], :enlist], [[:while], [:eval, :dup, :car], [:add], [[:add], 1, 1]], [[:while], [:eval, :dup, :car], # [:add], [[:add], 1, 1]]]
# [[[[:eval, :dup, :car], :while], :enlist], [:while], [[:while], [:eval, :dup, :car], [:add], [[:add], 1, 1]]]
# [[:enlist], [[:eval, :dup, :car], :while], [:while], [[:while], [:eval, :dup, :car], [:add], [[:add], 1, 1]]]
# [[[:eval, :dup, :car], :while], [:while], [[:while], [:eval, :dup, :car], [:add], [[:add], 1, 1]]]
# [[:while], [:eval, :dup, :car], [:while], [[:while], [:eval, :dup, :car], [:add], [[:add], 1, 1]]]
# [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:while], [:eval, :dup, :car], [:add], [[:add], 1, 1]]]
# [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:add], 1, 1]]]
# [[:car, [[:eval, :dup, :car], :while], :enlist], [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:add], 1, 1]], [[:eval, # :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:add], 1, 1]]]
# [[[[:eval, :dup, :car], :while], :enlist], [:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:eval, :dup, :car, [[:eval, :dup# , :car], :while], :enlist], [[:add], 1, 1]]]
# [[:enlist], [[:eval, :dup, :car], :while], [:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:eval, :dup, :car, [[:eval, :dup# , :car], :while], :enlist], [[:add], 1, 1]]]
# [[[:eval, :dup, :car], :while], [:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:eval, :dup, :car, [[:eval, :dup, :car], # :while], :enlist], [[:add], 1, 1]]]
# [[:while], [:eval, :dup, :car], [:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:eval, :dup, :car, [[:eval, :dup, :car], # :while], :enlist], [[:add], 1, 1]]]
# [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:add], 1, # 1]]]
# [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[], 2]]]
# [[:car, [[:eval, :dup, :car], :while], :enlist], [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[], 2]], [[:dup, :car, [[:eval, # :dup, :car], :while], :enlist], [[], 2]]]
# [[[[:eval, :dup, :car], :while], :enlist], [:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:dup, :car, [[:eval, :dup, :car], # :while], :enlist], [[], 2]]]
# [[:enlist], [[:eval, :dup, :car], :while], [:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:dup, :car, [[:eval, :dup, :car], # :while], :enlist], [[], 2]]]
# [[[:eval, :dup, :car], :while], [:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:dup, :car, [[:eval, :dup, :car], :while], # :enlist], [[], 2]]]
# [[:while], [:eval, :dup, :car], [:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:dup, :car, [[:eval, :dup, :car], :while], # :enlist], [[], 2]]]
# [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[], 2]]]
# [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:car, [[:eval, :dup, :car], :while], :enlist], [[], 2], [[], 2]]]
# [[:car, [[:eval, :dup, :car], :while], :enlist], [[:car, [[:eval, :dup, :car], :while], :enlist], [[], 2], [[], 2]], [[:car, [[:eval, :dup# , :car], :while], :enlist], [[], 2], [[], 2]]]
# [[[[:eval, :dup, :car], :while], :enlist], [:car, [[:eval, :dup, :car], :while], :enlist], [[:car, [[:eval, :dup, :car], :while], :enlist]# , [[], 2], [[], 2]]]
# [[:enlist], [[:eval, :dup, :car], :while], [:car, [[:eval, :dup, :car], :while], :enlist], [[:car, [[:eval, :dup, :car], :while], :enlist]# , [[], 2], [[], 2]]]
# [[[:eval, :dup, :car], :while], [:car, [[:eval, :dup, :car], :while], :enlist], [[:car, [[:eval, :dup, :car], :while], :enlist], [[], 2], # [[], 2]]]
# [[:while], [:eval, :dup, :car], [:car, [[:eval, :dup, :car], :while], :enlist], [[:car, [[:eval, :dup, :car], :while], :enlist], [[], 2], # [[], 2]]]
# [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:car, [[:eval, :dup, :car], :while], :enlist], [[], 2], [[], 2]]]
# [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[[[:eval, :dup, :car], :while], :enlist], [], [[], 2]]]
# [[:car, [[:eval, :dup, :car], :while], :enlist], [[[[:eval, :dup, :car], :while], :enlist], [], [[], 2]], [[[[:eval, :dup, :car], :while], # :enlist], [], [[], 2]]]
# [[[[:eval, :dup, :car], :while], :enlist], [[[:eval, :dup, :car], :while], :enlist], [[[[:eval, :dup, :car], :while], :enlist], [], [[], # 2]]]
# [[:enlist], [[:eval, :dup, :car], :while], [[[:eval, :dup, :car], :while], :enlist], [[[[:eval, :dup, :car], :while], :enlist], [], [[], # 2]]]
# [[[:eval, :dup, :car], :while], [[[:eval, :dup, :car], :while], :enlist], [[[[:eval, :dup, :car], :while], :enlist], [], [[], 2]]]
# [[:while], [:eval, :dup, :car], [[[:eval, :dup, :car], :while], :enlist], [[[[:eval, :dup, :car], :while], :enlist], [], [[], 2]]]
# [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[[[:eval, :dup, :car], :while], :enlist], [], [[], 2]]]
# [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:enlist], [[:eval, :dup, :car], :while], [], [[], 2]]]
# [[:car, [[:eval, :dup, :car], :while], :enlist], [[:enlist], [[:eval, :dup, :car], :while], [], [[], 2]], [[:enlist], [[:eval, :dup, :car]# , :while], [], [[], 2]]]
# [[[[:eval, :dup, :car], :while], :enlist], [:enlist], [[:enlist], [[:eval, :dup, :car], :while], [], [[], 2]]]
# [[:enlist], [[:eval, :dup, :car], :while], [:enlist], [[:enlist], [[:eval, :dup, :car], :while], [], [[], 2]]]
# [[[:eval, :dup, :car], :while], [:enlist], [[:enlist], [[:eval, :dup, :car], :while], [], [[], 2]]]
# [[:while], [:eval, :dup, :car], [:enlist], [[:enlist], [[:eval, :dup, :car], :while], [], [[], 2]]]
# [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:enlist], [[:eval, :dup, :car], :while], [], [[], 2]]]
# [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[[:eval, :dup, :car], :while], [], [[], 2]]]
# [[:car, [[:eval, :dup, :car], :while], :enlist], [[[:eval, :dup, :car], :while], [], [[], 2]], [[[:eval, :dup, :car], :while], [], [[], # 2]]]
# [[[[:eval, :dup, :car], :while], :enlist], [[:eval, :dup, :car], :while], [[[:eval, :dup, :car], :while], [], [[], 2]]]
# [[:enlist], [[:eval, :dup, :car], :while], [[:eval, :dup, :car], :while], [[[:eval, :dup, :car], :while], [], [[], 2]]]
# [[[:eval, :dup, :car], :while], [[:eval, :dup, :car], :while], [[[:eval, :dup, :car], :while], [], [[], 2]]]
# [[:while], [:eval, :dup, :car], [[:eval, :dup, :car], :while], [[[:eval, :dup, :car], :while], [], [[], 2]]]
# [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[[:eval, :dup, :car], :while], [], [[], 2]]]
# [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:while], [:eval, :dup, :car], [], [[], 2]]]
# [[:car, [[:eval, :dup, :car], :while], :enlist], [[:while], [:eval, :dup, :car], [], [[], 2]], [[:while], [:eval, :dup, :car], [], [[], # 2]]]
# [[[[:eval, :dup, :car], :while], :enlist], [:while], [[:while], [:eval, :dup, :car], [], [[], 2]]]
# [[:enlist], [[:eval, :dup, :car], :while], [:while], [[:while], [:eval, :dup, :car], [], [[], 2]]]
# [[[:eval, :dup, :car], :while], [:while], [[:while], [:eval, :dup, :car], [], [[], 2]]]
# [[:while], [:eval, :dup, :car], [:while], [[:while], [:eval, :dup, :car], [], [[], 2]]]
# [[:eval, :dup, :car, [[:eval, :dup, :car], :while], :enlist], [[:while], [:eval, :dup, :car], [], [[], 2]]]
# [[:dup, :car, [[:eval, :dup, :car], :while], :enlist], [[], [], [[], 2]]]
# [[:car, [[:eval, :dup, :car], :while], :enlist], [[], [], [[], 2]], [[], [], [[], 2]]]
# [[[[:eval, :dup, :car], :while], :enlist], [], [[], [], [[], 2]]]
# [[:enlist], [[:eval, :dup, :car], :while], [], [[], [], [[], 2]]]
# [[[:eval, :dup, :car], :while], [], [[], [], [[], 2]]]
# [[:while], [:eval, :dup, :car], [], [[], [], [[], 2]]]
# [[], [], [[], [], [[], 2]]]
# [[], [], [[], [], [[], 2]]]
# [[], [], [[], [], [[], 2]]]
# [[], [], [[], [], [[], 2]]]
# [[], [], [[], [], [[], 2]]]
# [[], [], [[], [], [[], 2]]]
# [[], [], [[], [], [[], 2]]]
# [[], [], [[], [], [[], 2]]]
# (... and so on)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment