タグ

2009年12月14日のブックマーク (4件)

  • Haskellと副作用 - あどけない話

    よく、Haskellには副作用がないと言われるが、それは間違いだ。確かに、Haskell には状態の変化(あるいは再代入)という副作用はない。しかし、入出力という副作用はある。この記事では、Haskell の副作用に対して、命令型プログラマーにすっきりと理解できる説明を試みたいと思う。 間違った方向への第一歩 Haskell の副作用に関する典型的な説明は、こんな感じだ。 Haskell にはあらゆるレベルで副作用がない。そのため、遅延評価が可能になる。遅延評価では、コードが記述順に実行/評価されるとは限らないので、入出力と相性が悪い。そこで、IO モナドが導入されている。IO モナドのおかげで、入出力に関するコードは記述順に実行され、外界に作用できる。 この説明を聞いて理解しろという方が無理である。説明が苦しい最大の理由は、Haskell にはあらゆるレベルで副作用がないと、間違った一歩

    Haskellと副作用 - あどけない話
  • OSS ECパッケージ「エレコマ」をリリースしました - smellman's Broken Diary

    仕事の話なんですが、日ECパッケージ「エレコマ」をリリースしました。ライセンスはMITライセンスで、Railsで構築されたパッケージです。 かなり時間がかかりましたが、やっとのことでリリースにこぎつけました。いやー、うれしいです。プロジェクトのみなさん、お疲れさまでした。 ちなみに、自分がOSSのソフトのリリースに関わるのって、Firefox 1.0リリース時にMac版のパッケージがうまく作られてるか検証した時以来かもしれません(あの時は吉野さんがIRCで誰か試してーって叫んでて、仕事の目を盗んでテストしてた。懐しいー)。 まぁ、なんだろう、ソフトウェアってリリースをして初めて始まったなって感じがします。これからが当の勝負なんで、ちゃんとがんばらないといけないなぁと気持ちをひきしめていきたいと思います。

    OSS ECパッケージ「エレコマ」をリリースしました - smellman's Broken Diary
    tomoya
    tomoya 2009/12/14
    元組長おつかれさまでーす!
  • topコマンドのanything.elインターフェース - http://rubikitch.com/に移転しました

    topコマンドはCPUやメモリを喰ってるプロセスをリストアップしてくれる。なるべくパソコンを軽くしたいので常に起動しているのだが、プロセスを殺すときにいちいちプロセスIDを打ち込まないといけないので面倒だ。そこでanythingインターフェース。 M-x anything-toptopコマンドを起動し、その中でC-c C-uを押すと更新。アクションはとりあえずkillのみ。 anything-config.elに加えてるので更新するだけで使える。 M-x install-elisp-from-emacswiki anything.el M-x install-elisp-from-emacswiki anything-config.el ;;; Top (process) (defvar anything-c-top-command "COLUMNS=%s top -b -n 1" "

    topコマンドのanything.elインターフェース - http://rubikitch.com/に移転しました
  • popup.elによるポップアップメニュー、カスケードポップアップメニュー、ツールチップの実現 - Functional Emacser

    さまざまな現代的なインターフェースを実現できるようpulldown.elを大幅に拡張しました。それに伴って抽象度も上がったため、pulldown.elという名前は少し内容にそぐわなくなりました。そこでpulldown.elあらためpopup.elという名前で開発を続けていくことにしました*1。マーケティング的にはあまりよろしくないと思いますが、主な利用者はauto-completeだけなのでまあいいでしょう。 成果物はいつも通りauto-completeのリポジトリから取得できます。 http://github.com/m2ym/auto-complete さて、今回の拡張で何ができるようになったかですが、おそらく次のスクリーンショットを見れば一目瞭然かと思われます。 見ての通り、多階層ポップアップメニューとツールチップが実現できるようになっています。元々、これらの機能を実装するつもりはな

    popup.elによるポップアップメニュー、カスケードポップアップメニュー、ツールチップの実現 - Functional Emacser