見たのをきっかけに久しぶりにN-Queen問題を解くプログラムをHaskellで書いてみた。utility割合汎用的な、整数のビットを前後反転する関数を作成してみた。2の乗数サイズの任意の整数型のビット反転が可能。sizeハッシュテーブルを実装してみた。チェイン法を用いたハッシュテーブルで、リンクリスト(チェイン)のノードを割り当てる際に自前のアロケータを使っている点以外は、特に変わったところもないと思う。char*にした場合の挙動C++g++(及びその他)のunordered_mapで文字列をキーにしたい場合の注意書き。char*を指定すると、キーが文字列ではなくポインタ(整数値)として解釈されてしまう*1。utility構造体やクラスのインスタンスの特定のフィールドのアドレス(ポインタ)だけ分かっている場合に、そこからオブジェクト全体のポインタを取得したい場合に使うマクロ。辞書データサイズ縮小のコメントにて要望があったのでSanmokuを形態素の原型や読みの情報取得に対応させてみた。library今日は久しぶりにUNF(ユニコード正規化ライブラリ)に手を加えていた。大きな変更点は、正規化用変換テーブルを実現していたTRIEをDAWGにしたこと。libraryこの一週間でSanmokuの辞書データサイズの縮小をいろいろ試していたので、その結果を載せておく。