Hello everyone, I'm that Austin guy. Did you look at FreeMarker? Or any other things besides Velocity before > deciding to roll your own template engine?
Yes. If we are focused on Velocity, it's because it was our favorite template language before I wrote Viento. I can't get over the syntax. I've never seen anything (even rhtml) that I like as well as $object.property. It's not 100% clear to me what you mean by this. Of course, as the main > author and maintainer of FreeMarker's parser code, if I don't > understand, then I think it's safe to say that most people wouldn't. > (I'm not even sure that most people in the market for a template > language know what an AST is.) Sometimes code makes more sense than English. This class<http://opensails.org/sails/file/org.opensails.viento/src/java/org/opensails/viento/builtins/IfMixin.java>is the only code in the system that knows about 'if'. And this little guy<http://opensails.org/sails/file/org.opensails.viento/src/java/org/opensails/viento/builtins/IterableMixin.java>is solely responsible for list#each. The simplicity and the power together is what sets Viento apart. Less characters, more extensible. For one thing, it is not obvious to me why you would ever want to > override the behavior of something as key to your language as the "if" > directive. Add new directives, sure, but, to override core ones like if > and so on??? You wouldn't. It's an illustration of the power available, not a practical suggestion on how to use it. It's not like we specifically coded for that sort of thing. It's just inherent in the philosophy that the core language constructs shouldn't be 'special'. This idea is borrowed from languages like ruby and smalltalk. It's partially purism, but I think it's going to turn out very useful in Viento. We're just starting to use it ourselves, so we'll see. I don't think a run-of-the-mill person could read the above wiki entry > and understand what the pros and cons of Sails are as compared to the > alternatives. Or I should say 'alternative' in the singular, since you > only talk about Velocity. We'll work on that. Thanks, Austin