Getting Started in TADS 3: Typos and Praise

I’ve been working my way (slowly) through Getting Started in TADS 3, and I think I found a couple of typos in the chapter “Rewarding the Effort:”

  • Before the branch code, the book says “Remember that the branch will need to be a Supporter so you can put things on it,” but there doesn’t seem to be a Supporter class. Surface seems to work, and that’s what the actual code example uses.
  • After the expanded nest code, the book says “Towards the end of the nest object we have written dobjFor(Search) asDobjFor(LookIn).” But that line does not, in fact, appear in the code. Adding the line seems to work as expected.

I’m posting for two reasons: first, to make sure that the “typos” aren’t actually misunderstandings on my part, and second, to ask how best to report such typos in the future. (There won’t be any more typos, of course, but hypothetically…) I notice that the TADS bug tracker has a “documentation” category, but is it designed to be used for things like this?

In addition, as long as I’m talking about the book already, let me say that I’m really enjoying it. It has been clear and generally seems to deal with issues just about the time I’m wondering about them. I especially appreciate the way Eric keeps dealing with more advanced issues by giving me a peek at them and then guiding me back to the more basic stuff I need to work on. It would irritate me to no end to be told to use the shortcuts without any explanation of what’s going on underneath, but once I have a rough idea of what’s going on it’s a relief to go back to the basics. :slight_smile:

Thanks, Eric!

Eric shows up on the Forum from time to time, so you can certainly post any errors that you spot in this thread, and he’ll read them. Whether there are plans afoot to update the documentation at some point, I don’t know.

Glad to hear you’re enjoying the learning process. T3 is a complex and elegant system, but without Eric’s hard work, it would be … well, you know. It would be a maze of twisty little passages, all of them both alike and different.

TADS bug tracker is right place to report bugs in the documentation, but probably it would be better to report them in bigger chunks together.

I will add those two:

  • Learning T3 - page 238 - canEndConversation - switch missing “case” keyword
  • Learning T3 - page 113 - second example - missing ; in verify and precond with uppercase O in touchObj

‘Supporter’ must be a typo for ‘Surface’ here, as you surmise (though I’m surprised no one’s ever picked up that one before!).

The library already defines dobjFor(Search) asDobjFor(LookIn), so it is redundant to define it again in game code. It looks as if I must have realized that at some point and so removed the line from the code but somehow failed to make the corresponding change to the text.

Thanks! I’m glad you’re finding it useful.

Thanks for catching these. Now noted.

The only mechanism for issuing updated documentation is when it goes out with an update version of TADS 3. From time to time I send documentation updates to Mike Roberts so he can incorporate them in the next release.

RestrictedContainer in Tour Guide - canPutIn(obj) { return obj.ofKind(Widget}; } - wrong parenthesis.

Learning T3, chapter 7.3: Topic.known, Thing.known IMHO should be Topic.isKnown, Thing.isKnown

Learning T3, page 238: eventPerCent = 67 - should be with lowercase letter “c”

Learning T3, page 267: hereWithSoure -> hereWithSource

Learning T3 - page 186: noResponse should be double-quoted string

Learning T3 metions showCredits() on page 155 and 156, but the method should be called showCredit().

My thanks to both DJ Hastings and tomasb for drawing attention to these sundry typos. I’ve now made the corrections and sent them off to Mike Roberts for inclusion in the next TADS 3 release. If anyone posts any more of them here, I shall of course deal with them, but probably not in time for the next release.