Info on Smalltalk DSLs or Metaprogramming...
ramonleon at cox.net
Sun Aug 20 17:20:21 UTC 2006
> In Ruby, "See" could be an object, "spot" a method and "run" a local
> As far as I know, you couldn't interpret the same thing directly in
> Smalltalk. You would need to write "See spot: run", which is where the
> colons become a problem.
> Of course, there are other cases where the colon would come in handy.
> Having thought about both languages a lot over the last few days, I'm
> pretty sure of the following:
> 1) Regardless of which language you use, there will be DSL elements
> that appear awkward or clunky (provided you do no string processing).
> 2) Some things will always be easier to write in the other language.
Ruby might allow parens to be optional allowing run to be sent to spot,
however, it'd look more like...
Hardly any better than
See spot: run
Besides, you could always setup spot as a member of see, then...
See spot run
Is perfectly valid Smalltalk, just like Ruby's...
However you work it, I think the Smalltalk will come up with a more
natural English looking syntax due to it using spaces where ruby would
use periods and it using periods as a statement separator.
See spot run. Spot go home. Spot wag tail.
Is a perfectly valid Smalltalk statement, can Ruby do that?
More information about the Squeak-dev