bloom-lang / bud

Prototype Bud runtime (Bloom Under Development)
http://bloom-lang.net
Other
854 stars 60 forks source link

inscrutable syntax error on interface declaration #256

Open jhellerstein opened 12 years ago

jhellerstein commented 12 years ago

Consider the following code:

require 'rubygems'
require 'bud'

class TestMe
  include Bud
  state {interface input :silly}
end

p = TestMe.new

Here's what you get when you run it:

(joeh@walker) tmp > ruby doit.rb 
doit.rb:6:in `input': wrong number of arguments (1 for 0) (ArgumentError)
    from doit.rb:6:in `__state5__TestMe'
    from /Users/joeh/.rvm/gems/ruby-1.8.7-p352/gems/bud-0.0.7/lib/bud.rb:259:in `call'
    from /Users/joeh/.rvm/gems/ruby-1.8.7-p352/gems/bud-0.0.7/lib/bud.rb:259:in `call_state_methods'
    from /Users/joeh/.rvm/gems/ruby-1.8.7-p352/gems/bud-0.0.7/lib/bud.rb:259:in `each'
    from /Users/joeh/.rvm/gems/ruby-1.8.7-p352/gems/bud-0.0.7/lib/bud.rb:259:in `call_state_methods'
    from /Users/joeh/.rvm/gems/ruby-1.8.7-p352/gems/bud-0.0.7/lib/bud.rb:258:in `each'
    from /Users/joeh/.rvm/gems/ruby-1.8.7-p352/gems/bud-0.0.7/lib/bud.rb:258:in `call_state_methods'
    from /Users/joeh/.rvm/gems/ruby-1.8.7-p352/gems/bud-0.0.7/lib/bud.rb:237:in `init_state'
    from /Users/joeh/.rvm/gems/ruby-1.8.7-p352/gems/bud-0.0.7/lib/bud.rb:147:in `initialize'
    from doit.rb:9:in `new'
    from doit.rb:9
(joeh@walker) tmp > 

The error is a missing comma after the keyword "input" in the state block.