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]

Reply via email to