''The Tcl Programming Language'' is a comprehensive guide to Tcl, covering Tcl 8.6. See the https://www.magicsplat.com/ttpl/index.html%|%official book page%|% for more information and a detailed Table of Contents. [TTPLImage%|% width=150 height=204] The ebook version (PDF format) is available from https://gum.co/tclprog%|%Gumroad%|%. The print version is available from Amazon in https://www.amazon.com/dp/154867964X%|%USA/Canada%|% and their European sites including https://www.amazon.co.uk/dp/154867964X%|%UK%|%, https://www.amazon.de/dp/154867964X%|%Germany%|%, https://www.amazon.fr/dp/154867964X%|%France%|%, https://www.amazon.es/dp/154867964X%|%Spain%|% and https://www.amazon.it/dp/154867964X%|%Italy%|%. '''If you like the book, positive reviews on Amazon are appreciated.''' **Support** Please send any errors or other comments about the book to apnmbx-wits at yahoo. **Errata** Section 4.12.1.11, bottom of page 97, in the code example regexp {(?ic)RE} STRING should be regexp {(?in)RE} STRING Thanks to Saurabh G. for his careful reading! 2.2.5.2. Executable scripts on Windows C:\temp>ftype TclApp=C:\Tcl\bin\tclsh.exe should be C:\temp>ftype TclApp=C:\Tcl\bin\tclsh.exe "%1" %* Section 6.4, bottom of page 162, the syntax description of `dict for` should be dict for {KEYVAR VALUEVAR} DICTIONARY SCRIPT Thanks to Gregor E. Section 23.6.5.2, top of page 601, the syntax block for `foreach`, 1) "foreach" should be instead of "allrows" (in RESULTSET, STATEMENT, DBCONN lines) 2) STATEMENT line should be ended as "... ?--? VAR ?DICT? SCRIPT" 3) DBCONN line should be ended as "... ?--? VAR SQL ?DICT? SCRIPT" Thanks to Alex P. for reporting. **Discussion** ---- [JJM] - 2017-07-25 - Got the book in the mail, looks really great. Nice job. '''[arjen] - 2017-07-06 19:35:22''' Congratulations! It is a welcome addition to the Tcl library and a voluminous one at that :) ---- [bll] 2017-7-6 Looks very comprehensive. Looking forward to reading it. [ALX] 2017-07-09 17:45 Year! First! :-) "Well, thanks for your prompt purchase! You are the very first buyer of my book! /Ashok" [RLH]: Will there be a book/ebook bundle? [APN] No bundle because of the different distribution channels. But you might be able to make use of the discounted price as noted above. [RLH] Got them both. Reading through the book now. :) [MHo] This book is simply ''overwhelming''! ---- '''[JOB] - 2017-11-14 22:15:55''' Congratulations as well! I quickly went through the TOC which looks really promising. Good to see that all those extensions and functionality recently added to the core like coroutines, TclOO, threads, database connectivity, etc. are all covered by the book. [APN] Thanks, and that was indeed one of the primary motivations behind writing the book. ---- [SYStems] did anyone buy the ebook via gumroad, I googled gumroad and the reviews are really bad. [APN] When you say reviews, I presume you mean Gumroad and not the book :-) I'm surprised you saw so many negative reviews of gumroad because I chose it based on the positive reviews I'd seen. (Also because they take care of EU VAT without my having to individually file.) I think most negative reviews of gumroad are from the seller's perspective (which would be me), not the buyer's. Personally, I have had no issues with selling through them. About a hundred e-book copies have downloaded so far and have not heard of any complaints from buyers. [SYStems] yes 100% I meant gumroad, not the book :) [DPG] This book is great! I got the physical version because I'm just physical like that ;) This book has a good Index, which is important to physical book people. [APN] Thanks, appreciated. However, such comments on the book's Amazon page would be appreciated even more, hint, hint :-) [DPG] Done! [APN] Great! Thank you. [SYStems] Can you please make available an epub version of the ebook. [APN] Unfortunately not. I did try producing both epub and mobi formats originally but did not find the results acceptable the way tables and figures were displayed. It just leaves a bad impression about the book. ---- '''[aplsimple] - 2018-09-20 04:35:56''' Dear Ashok, I've found some tiny issues in your book. Below they are listed, an original text is quoted, a comment begins with "-". 1. Page 83 (5th row of the table 4.7): "This includes 1, false, no ..." - should be "... includes 0, false ..." 2. Page 378 (bottom): "This facility is available to all savings accounts but only to selected checking accounts." - but this facility (EFT) is presented to all CHECKING accounts and few savings accounts. It's seen in the code snippets to follow, not to say about those bank rules. So, it should be: "This facility is available to all checking accounts but only to selected savings accounts." 3. There are some typos: Page 61 (bottom): "...values proscribed by EIAS." - should be "... prescribed ..." Page 76 (top): "... unless the the -nocase option is specified." - should be "... unless the -nocase ..." Page 365 (middle): "The experience gained from these system ..." - should be "... systems ..." Page 393 (top): "..., the command self class command returns ..." - should be : "..., the self class command ..." 4. There are no outputs of some commands: Page 373: - should be: % oo::class create CheckingAccount { ... ==> ::SavingsAccount Page 388: - should be: % oo::class create ClassWithOneArg { ... ==> ::ClassWithOneArg % oo::class create ClassWithNoArgs { ... ==> ::ClassWithNoArgs (there are other cases of this) 5. Page 379 (bottom): There is no definition of BillPay class and it is not good because the example would not work in CLI. You might modify it as: % oo::class create BillPay {} ;# Empty class for demo only ==> ::BillPay % oo::define CheckingAccount {mixin BillPay EFT} % info class mixin CheckingAccount ==> ::BillPay ::EFT 6. The problem is that you omit the % tclsh's prompt in many examples throughout the book. It's no problem when there is no output of command or the output is shown in the same line. However, if there is the "==>" output then the corresponding input should be marked (and really very often marked!) with "%". Otherwise a reader may be perplexed with what command ouputs this. It's also a question of consistency. See e.g. sections 14.4.3, 14.6, 14.7, 14.9.1, 14.10, 14.11.3.3. Regards, Alex Plotnikov <> Book