<div dir="ltr">Hello,<div><br></div><div>I'm happy to announce the first release of enchant, binding for the Enchant library.</div><div><br></div><div><a href="https://hackage.haskell.org/package/enchant-0.1.0.0">https://hackage.haskell.org/package/enchant-0.1.0.0</a><br></div><div><br></div><div><a href="https://github.com/kseo/enchant">https://github.com/kseo/enchant</a><br></div><div><br></div><div>What is Enchant? (from <a href="http://www.abisource.com/projects/enchant/">http://www.abisource.com/projects/enchant/</a>)<br></div><div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">On the surface, Enchant appears to be a generic spell checking library. You can request dictionaries from it, ask if a word is correctly spelled, get corrections for a misspelled word, etc...<br></blockquote><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">Beneath the surface, Enchant is a whole lot more - and less - than that. You'll see that Enchant isn't really a spell checking library at all.<br></blockquote><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">"What's that?" you ask. Well, Enchant doesn't try to do any of the work itself. It's lazy, and requires backends to do most of its dirty work. Looking closer, you'll see the Enchant is more-or-less a fancy wrapper around the dlopen() system call. Enchant steps in to provide uniformity and conformity on top of these libraries, and implement certain features that may be lacking in any individual provider library. Everything should "just work" for any and every definition of "just working."</blockquote><div><br></div></div><div>Thanks,</div><div>Kwang Yul Seo</div><div><br></div></div>