ブックマーク / hiratara.hatenadiary.jp (5)

  • Haskell入門という本を書きました - Pixel Pedals of Tomakomai

    Haskell入門 というを書きました。まだ店頭で買うことはできませんが、amazonでは予約を開始しています。また、電子版も早いうちに出ると聞いているので、そちらもあわせてお求め下さい。技術評論社さんのサイトではサンプルのpdfも読むことができます。 Haskellには すごいH というとても良い教科書がすでにありますが、「アプリケーションを作って楽しむ」という観点から書かれたも欲しいなということを常々感じていました1。すごいHでHaskellの考え方やプログラムの組み方は学べますが、例えば、プロジェクトを作成して開発を始めるにはどうするかであったり、必要なライブラリをどこから探してどのように自分のプロジェクトへ組み込むのかといった、開発に必要な基的な事項は自分で学ぶ必要があります。今回執筆した Haskell入門 ではとにかくHaskellでアプリケーションを作ることにフォー

    Haskell入門という本を書きました - Pixel Pedals of Tomakomai
  • 命令型言語Haskell - Pixel Pedals of Tomakomai

    ※これはHaskell Advent Calendar 2012の12/12分の記事です。 こんにちわ、Perlのプログラマの@hirataraです。関数型言語はまともに使ったことがないので、命令型言語の話を書きます。 Haskellでのふつうの"関数" Haskellは純粋関数型言語なので、例えば、add1 :: Int -> Intのような型の関数で副作用を発生することはできません。ここでいう副作用とは、ログを出力したりネットワークにアクセスしたりといったoutputだけではなく、ファイルを読み込んだり環境変数を参照するといったinputも含みます。add1は数学の関数と同じように振る舞います。もっときつい言い方をすれば、add1は単なる辞書(Dictionary or Map or HashTable, etc.)のように、キーに対して決まった値を返すような働きしかしません。(ただし

    命令型言語Haskell - Pixel Pedals of Tomakomai
  • 2012年にニートになったこと - 北海道苫小牧市出身の初老PGが書くブログ

    2012年のまとめとして、今年ニートになったことをまとめておく。 経緯 3月に転職して新しい職場に勤め始めたのだけど、業務内容が合わなくて適応障害を起こしてしまった。具体的には、マニュアルに従って進める大量の単純作業が合わなかったんだと思う。早朝覚醒が起き、通勤中呼吸ができなくなったり、勤務中突然涙が止まらなくなったりした。医師にも退職を勧められたので、親族とも相談して手遅れにならないうちにということで3ヶ月の試用期間で退職することにした。 ハローワーク関連 診断書が出たので、3ヶ月の給付制限なしで給付金を貰えることになった。と言っても、待機期間とかがあったりで実際にお金が手に入るのは1ヶ月以上後で、貰える額も少ない。貯金がなければどうにもならないだろう。 手続き的には基的にハローワークの人は親切なので指示に従うとよい。最初の1〜2ヶ月は、指示に従ってハローワークに何度か足を運びつつ受給

    2012年にニートになったこと - 北海道苫小牧市出身の初老PGが書くブログ
  • 「論理と計算のしくみ」が大変ためになった - 北海道苫小牧市出身の初老PGが書くブログ

    読み終わったので感想です。他の方々からも良書だ、良書だと勧められましたが、結論から言うとやはり買いです。 論理と計算のしくみ 萩谷 昌己 西崎 真也 前半は論理学から話を初めてゲーデルの不完全性定理までを論じます。後半はλ計算と型理論についての内容です。カリー・ハワード対応がわからなくてもいいのであれば、後半のλ計算の部分だけ読むこともできます。 読み切れば、例えば、物のプログラマはHaskellを使うの連載に出てくる次のような単語の意味は理解できるようになるでしょう。 reduction call-by-name call-by-value Weak Head Normal Form 型推論 依存型 多相型 他にも以下のような聞いたことあるけどなんだろこれって知識が補完されます。 命題論理、述語論理、様相論理、時相論理、直観論理 ゲーデルの不完全性定理 チューリングマシンの停止性問題

    「論理と計算のしくみ」が大変ためになった - 北海道苫小牧市出身の初老PGが書くブログ
  • git型の共同作業とSVN(CVS)型の共同作業の違い - Pixel Pedals of Tomakomai

    ずっと gitとsvkの違いってなんなのよ? と思ってたんですが、この図とか説明読んでようやくわかりました。 Gitでは旧来のCVS型とGit型の二つの共同作業のモデルが使えます。これが混乱の元でした。 Gitのすごさを当に体感するなら、gitを使うだけでは不十分でGit型のモデルにそって開発することが必須です。 CVS型 従来のSVN(CVS)のモデルです。pullをしてきて、pushで更新を戻します。 1つの公開リポジトリに対し、複数人がpushを行う pushにより他の人と競合するかも メインのリポジトリにpushすることを目指す 能動的 → 悪意のあるpushも可能 → "コミッター"を絞る必要あり Gitgithubっぽいモデルです。pullをしてきて、pullで更新を持って行ってもらいます。 全体がpullでまわるため、pushがプライベートな操作として隠蔽されてるのがポ

    git型の共同作業とSVN(CVS)型の共同作業の違い - Pixel Pedals of Tomakomai
  • 1