[stringtemplate-interest] fixed if-condition thing
Zenaan Harkness
zen at freedbms.net
Wed Jul 8 01:29:58 PDT 2009
On Tue, Jul 07, 2009 at 11:49:04AM -0700, Terence Parr wrote:
>
> On Jul 3, 2009, at 7:40 AM, Zenaan Harkness wrote:
>
>> I thought I raised this some time back. Perhaps that was only in my
>> mind. Either way, very pleased to see this one fixed, despite
>> performance bug.
>
> Hooray! sorry it took me so long. I can't wait to finish this book this
> month. Then I have an entire year of software development!
Yum.
>> BTW, for next version of ST (after STBook v1), is there a chance an ST
>> spec might be in the works, ala YAML spec (I assume JSON has one too)?
>
> I should take a look at that. I've already broached the subject of doing
> an ST book with the publisher. My fear is that the market is not large
> enough for the book to sell well. They may not go for it.
I agree. I feel that in a year's time, the landscape may be ready for an
ST book.
I believe an official Specification will be a great contributor to the
ST landscape - professionalism, clarity, certainty for implementers,
cross-implementation compatibility, test case production, so many
advantages, no disadvantages :)
Did I mention I like the action of creating an ST Specification v1?
The specification will take some time, best part of a year at least,
just for version 1 - draft, review, edit, repeat. It's the kind of thing
we want to savour, like a good cognac, sipping it, enjoying each
mouthful. If it takes two years to get STSpecV1 out the door, that's
just fine.
And we get the opportunity to pontificate on this list, assessing the
spec in parts, and in its entirety, laying out fundamental design
principals at the start of the spec, optimising details, etc eg:
- MVC separation
- LISt Processing language semantics
- Minimal operators, eg conditionals, but no arithmetic.
- Of course, syntax variability ($..$ vs <..>) - references to SGML
by way of comparison, perhaps ST syntax is subset of SGML (I think
pretty much everything is SGML subset)
Also, spec will be a great exercise. It will bring a higher level of
awareness to:
- the principles of the goodness of ST
- the design tradeoffs being made to establish strong MVC
- to the syntax, both consistencies and inconsistencies
- the professionalism inherent in ST, which we take for granted, but
newcomers may not see so clearly
The process of writing down each of these points above, and the rest,
will be very very useful. It will help us make decisions about ST 3 (or
4, whatever comes after the spec is finalised) such as whether to be
fully backward compatible or, whether to break backwards compatibility
in syntax for the benefit of increase in purity to the principles of
software engineering, such as
- consistency,
- maintainability,
- performance, etc
- we should iterate this list in one chapter of the spec, or the
book, and describe how ST promotes, adheres to, or compromises,
each of these principles
(forgotten the link which iterates these principles, I think Joel On
Software may have a version of the list).
Examples of further process benefits to creating STSpec:
- a major version jump (ST 3, or 4) is perfect time to consider
normalisation of syntax
- get clear/ fix, inconsistencies of syntax
- add missing list operators (eg first,last,rest,initial)
- add/ clean up, conditional operators
- normalisation of syntax with respect to other languages, in
particular LISP!
For example, re normalisation with Lisp syntax, should we replace
ST Lisp
- first -> car
- rest -> cdr
Re LISP, see http://en.wikipedia.org/wiki/Lisp_(programming_language)
This is a very exciting opportunity!
Regards
Zen
PS:
http://en.wikiquote.org/wiki/Lisp_programming_language
* "Lisp is a family of computer programming languages based on formal
functional calculus."
* The greatest single programming language ever designed.
o Alan Kay, on Lisp [citation needed]
* Lisp isn't a language, it's a building material.
o Alan Kay
And for another list of Lisp quotes:
http://www.paulgraham.com/quotes.html
I include these quotes, because I feel quite strongly that ST brings
some amazing possibilties to our programming toolbox. From my readings
however, Lisp did it first, and it seems to me in some ways more
elegantly.
The great thing is, we have much to draw on (from the lisp world).
--
Homepage: www.SoulSound.net -- Free Australia: www.UPMART.org
Please respect the confidentiality of this email as sensibly warranted.
More information about the stringtemplate-interest
mailing list