2017-01-01から1年間の記事一覧

なぜ Haskell が好きなのか

自分は Haskell が好きで休日は Haskell を書いています。そういうことを言うと関数型が好きなんですねと言われるのですが、Haskell のよさはそこじゃないと感じているので書き起こそうかと、筆を執りました。 というわけで、この記事は技術的文書というより…

C# でランク N 多相

C#

追記:これだと解決できていない。 C# に Sprache というパーサーコンビネーターがあるのだが、最近そいつを継続渡しスタイル(continuation passing style; CPS)にしてやろうと、Haskell のパーサーコンビネーター attoparsec を参考にいじっていた。 そこ…

“meaningless REX prefix used” “use of REX.w is meaningless”

コマンドプロンプトや PowerShell でプログラムを実行したときに次のようなエラーが出て困っていた。 [0x7FFE822C2B00] ANOMALY : meaningless REX prefix used [0x7FFE85B3DDA0] ANOMALY : use of REX.w is meaningless (default operand size is 64) REX …

関係と代数的データ型との相互変換についての妄想 その3

思い付き その2 class QueryUser ? where queryUser :: (?) => Key -> MonadDB User instance QueryUser ? where -- queryUser :: (HasFriends ?) => Key -> MonadDB User query = … instance QueryUser ? where -- queryUser :: (HasName ?) => Key -> Mona…

関係と代数的データ型との相互変換についての妄想 その2

思い付き その1 型レベルのリストをクエリー函数に与えてやる。(DataKinds が有効) data Attr = Id | Name | Friends data User = User { id :: Int, name :: String, friends :: [User] } query :: Proxy '[??] -> Key -> MonadDB User userFriends :: Pr…

関係と代数的データ型との相互変換についての妄想 その1

OR マッパーみたいな、関係*1とデータ型との相互変換が機械的にできたら嬉しいなという話。 シンプルなのは簡単だしすでにできる。例えば次のような関係がある場合*2、 var user base relation { id integer, name string, } key { id }; var friends base r…

技術書典2にサークル参加します 「Haskell Yesod 本」

4月9日日曜日にアキバ・スクエアにて開催される技術書オンリー同人誌即売会「技術書典2」にサークル「趣味はデバッグ……」として参加します。 冬コミで頒布した『遠回りして学ぶ Yesod 入門』の誤字脱字等を修正して組版を改善したものを持っていきます。 新…

Yesod で1ページに複数個フォームがある場合は identifyForm を使う

resolver lts-5.4 で確認。 問題 1ページに複数個フォームがある場合、runFormPost はそれぞれのフォームの区別をしてくれません。どういうことかというと、例えば下記のような2つのフォームを利用するとします。 data AFormData = AFormData Text aForm :: …

Yesod と HDBC-mysql と haskell-relational-record で “Commands out of sync”

Yesod と HDBC-mysql と haskell-relational-record を一緒に使っているのだが、MySQL サーバーに「Commands out of sync; you can’t run this command now」って言われてぐぬぬってなって、最近デバッグをがんばっている。とりあえず途中経過をメモしておく…

『遠回りして学ぶ Yesod 入門』誤字脱字等を修正した電子版を公開しました

先日の投稿で公開した正誤表の内容を反映した電子版を公開しました。 kakkun61.hatenablog.com コミックマーケット 91 で購入した方は対面電書で、オンラインで購入した方は BOOTH で更新後のファイルを入手することができます。

『遠回りして学ぶ Yesod 入門』正誤表

kakkun61.booth.pm C91 版 電子版では修正済みです。 ページ 章節 誤 正 補足 3 はじめに Yesod の初歩的な解説が書かれた本の上巻です。 Yesod の初歩的な解説が書かれた本の上巻です。 7 1 リンク切れの検出や リンク切れの検出や 17 3.2 これは quasi quo…