On Wed, Jan 22, 2003, Eli Marmor wrote about "Re: news from MySQL": > > Kernigan and Pike in their relatively-new book "The Practice of programming" > > give an example very similar to yours, as an example of choosing good > > On behalf of Amazon, I want to thank you for the reference!
:) This book is not a masterpiece like their 1984 "The Unix Programming Environment", and at times was a little boring for someone with my experience (I'm think I'm a bit beyond simple debugging tips :)), but they did have a few interesting examples which made that book worth reading. > By the way: I attended Dan's lecture recently in Haifux, and after that > I discussed the option to rewrite the run-time part of hspell in C (not > the preparation of the dictionary with all the variations, but the run- > time). > > I plan to do it. > > If there is already such a project, please let me know; I don't want to > re-invent the wheel. Like I told Dan (private communication), one of the things I love about the Hspell project is that it lets me play around with really interesting algorithms and techniques, including linguistic techniques (I really learned a lot about the Hebrew language and other Semitic languages in the last few months) and also playing with algorithms for a practical purpose. The Perl front-end was always meant to be a "hack" for the first release, and I knew from the start that for start-up performance sake, the dictionary search will have to be radix-tree based, not hash-table based, in the final version. Two days ago I suddenly had the urge to code the radix-tree stuff, and 1am last night was the perfect time to finish the basic code (the one that reads the compressed dictionary and builds the in-memory tree). If you want to help me with writing a C version of the hspell front-end, please email me privately. I can tell you exactly the algorithm I used (it is not a run-of-the-mill radix tree) and maybe you can comment on my design. In particular I wonder whether using TSTs (ternary search tries) would be a simpler solution to the same problem. But I think that the details are too technical (and CS-ish) for this list, so we can pick it up in private communication. There's also obviously the rest of hspell.pl's code that needs to be converted to C, which will take some time (but it shouldn't be too hard, hspell.pl is really pretty simple). If anyone else is interested in doing hspell coding, another open problem is getting an ispell-compatible "-a" option to work. Making "hspell -a" work like "ispell -a" will mean that all applications that use "ispell -a" (like Lyx, Emacs, etc.) could use hspell without any changes. Dan already got a simplistic version of "hspell -a" to work nicely with LyX (and thanks to Dekel Tsur for the help with that), but it needs more work to be really "ispell -a" compliant and work with (for example) Emacs. If anyone is interested in working on Hspell, in any of the possible directions (algorithms, linguistics, dictionary, interface, etc.), please contact me (or Dan) privately. -- Nadav Har'El | Wednesday, Jan 22 2003, 19 Shevat 5763 [EMAIL PROTECTED] |----------------------------------------- Phone: +972-53-245868, ICQ 13349191 |If you're looking for a helping hand, http://nadav.harel.org.il |look first at the end of your arm. ================================================================= To unsubscribe, send mail to [EMAIL PROTECTED] with the word "unsubscribe" in the message body, e.g., run the command echo unsubscribe | mail [EMAIL PROTECTED]