Haskell

Lazy K での Hello World の書き方が分かった、気がする

CodeIQ の Hello World 問題に挑戦とかしてました。楽しかったです。https://codeiq.jp/ace/cielavenir/q431問題は「"Hello World" を出力するプログラムを、文字、文字列、数値リテラルを使わずに書け」というもの。最初は特に挑戦する気とかなかったんです…

Haskell で Verilog を書く話 (2)

ここのところ毎週そうしているように、この土曜日も、昼からビールを飲んでダラダラすごす予定だったんですが、ちょっと気が変わって、(500ml 缶 2本ほど飲み終わってから、) ゆるふわHaskell入門会に行ってきました。そこで pheaver さんの Verilog パーサ…

Haskell で Verilog を書く話 (1)

えーまぁなんか、コードジェネレータ書いたよ! ってお話するとついったなんかでは、うんうん誰もが一度は通る道だよとかなんとか生暖かい目で見られたりなんかしたりするわけですが、はい。Haskell で Verilog の RTL を生成するお話です。ちなみに、Ruby で…

なつたんさんにムチャ振りされたので CD-ROM を eject

という記事を書く予定だったのですが、なんか文字化けして上げられないので、github に書いてみました。https://github.com/h-hirai/AnExampleForQuickCheckVerilog

Template Haskell のお勉強ちう、そのさん - 準クォート

そのいち、そのに、とはあまり関係ないですが、いちおう続きです。quasi-quote とか準クォートとかいうもののお話です。 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(…

Template Haskell のお勉強ちう、そのに ‐ runIO

Template Haskell のお勉強ちう - 日曜プログラマがダラダラ書く のつづきです。github のリポジトリはこちら → https://github.com/h-hirai/SimpleRayTracer結果的にすごい簡単になったというおはなし。前回、あまり大きなリストリテラルを作ると、ghc が落…

Template Haskell のお勉強ちう

ご注意 この記事で Template Haskell の解説はいたしません。それについては、@mr_konn さんによるチュートリアルが大変分かりやすいので、そちらをご参照ください。私はまだ前半分しか読んでませんけどね! 前置き Yesod なりなんなり、他人様のコードを読ま…

深く考えずに Mighttpd をさわってみた (2)

そもそもの大間違いとして、インストールするべきパッケージは mighttpd ではなく mighttpd2だということに気づいてしまったので、最初からやりなおしです。 $ cabal install mighttpd2ドライランとかしません、依存パッケージとかは HackageDB を参照してく…

深く考えずに Mighttpd をさわってみた (1)

(2011-08-12 追記)そもそも mighttpd は今じゃ古いパッケージで、インストールするべきなのは mighttpd2 だったということを翌日思い出しました。そのようなわけで、以下の記事は、まったく無意味です。id:h-hirai:20110812:1313075661 をご参照ください。(…

RWH 読書会 2010-01

また、参加させてもらいました。Real World Haskell―実戦で学ぶ関数型言語プログラミング作者: Bryan O'Sullivan,John Goerzen,Don Stewart,山下伸夫,伊東勝利,株式会社タイムインターメディア出版社/メーカー: オライリージャパン発売日: 2009/10/26メディ…

Real World Haskell 読書会

昨日、参加してきました。第3回。前回、参加申し込みし損ねたので、私は2回目。妙に参加者が少ないなぁ? と思ったら、ICFP プログラミングコンテストとかぶってたんですね。すっかり忘れてたわ。懇親会でも半分くらいコンテストの話題で盛り上がってました。…

Real World Haskell Chapter 3: EXERCISE 10 - 13

第3章の EXERCISE 10 から 13 を解いてみたくなったので、やってみる。2次元平面上の3点、a, b, c を考え、a → b、b → c という 2 つの線分が作る角は右に折れるか、左に折れるか、真っ直ぐか、という問題。図にすると、こう。……タッチパッドで頑張って描き…

Real World Haskell 読書会 2009 年 5 月

に参加登録し忘れたので (ML に入ってなかった*1のでアナウンス出てるのに気づかなかった)、今月はひとりで原書をがんばって読みます orz *1:さっき入りました

先日、Real World Haskell 読書会に参加させてもらいました

でも、近頃いそがしくて*1まとめる時間とかないです。とりあえず、前に書いたメモとかひっぱりだしてきてお茶を濁してみた。今回は、「はじめに」と 1, 2 章までで、まぁ、こういう集まりに来るような人たちにとってみれば常識の範疇だよね、という内容がほ…

Scala でなにか書くつもりだったのに、気づいたら Haskell で Unlambda を書いていた

あ、これを Scala に移植してみればいいのか。とりあえず、.x, r, s, k, i だけ。d とか c はどうすればいいのかなぁ。 import Data.Char (isSpace) data Tree a = Leaf a | Branch (Tree a) (Tree a) deriving Show data Func = Func (Func -> IO Func) app…

大きめのバイナリファイルをちょっとずつ処理する方法

を、ここんとこしばらく考えていたんですけど、こんなかんじですかねー? import Data.ByteString (ByteString, hGet) import System.IO (Handle) data NextAct = Finish | Next (ByteString -> IO NextAct) Int procBinFile :: (ByteString -> IO NextAct) -…

名前

少し前に書いたプログラムを今ふと見返してみたら、7 行の関数のなかに line と line_s という変数があって、そのほかに Prelude の lines を使用しているとゆー。なんつーネーミングだ、我ながら。

HUnit の使い方

近頃は仕事で使うちっさいテキストフィルタを Haskell で書いたりすることがあるんだけど、ユニットテストの書き方がよく分からない。いや、HUnit モジュールの使い方は id:jmk さんが丁寧に解説して下さっているんだけど、モジュール定義の仕方とコンパイル…