wkoikingのブログ

内容は主にhaskellやxyzzy関連です。

【Haskell】diagramsでgtkのDrawingAreaにお絵かき

HaskellのdiagramsパッケージでgtkのDrawingAreaに描画してみたので、 minimalなサンプルコードを以下に記しておきます。 手順 前回の記事に従って、gtkの開発環境を構築する diagrams-gtkのインストール cabal update cabal install diagrams-gtk ソースコ…

gtk2hsを使ってみる

Haskellで、gtkを(久しぶりに)使ってみました。 とりあえず、昔書いたコードが動くところまで行ったので、手順と注意点を記録に残しておきます。 gtkとgtk3というパッケージがあるのですが、gtk3は上手く行かなかったので、そこらへんの記録も。 開発環境 …

xyzzy haskell-mode 改良

ghci-shell-modeに少し改良を加えました。 また、hs-modeからhaskell-modeへ名前を変更しました。 haskell-mode.l ghci-mode.l 変更点 ghciへのコマンド出力時のエンコーディングをutf8に変更 日本語のディレクトリでもghci-load-fileできるようになりました…

xyzzy haskell-mode

windowsのhaskellユーザーが少ないこともあって、 今まで、haskellのプログラミング環境の構築には苦労して 来ました。 一時期、haskellerの中ではメインストリーム1な linux + vimに乗り換えようとも思いましたが、敷居が高すぎて、 断念したヘタレです。 …

Dell XPS 8700のHDDをSSDに換装

先日パソコンを買い換えました。 昔からDellのパソコンが好きなのですが、SSDを搭載したモデルがないので、最近は Dell PCの購入をためらっていましたが、これまで、使用していたDospara Prime Galleria JFのファンの騒音に耐え切れず、 Dell XPS 8700購入 →…

Haskellの小技集1

忘れがちだけど、覚えていると役に立つHaskell小技集です。 リストから数を引く リストの要素に適当な数を足すのは(+ 1)のように部分適用を使えばよいですが、 (- 1)は部分適用と判定されないので、以下のように書きます。 ls = map (subtract 1) [1,2,3] 実…

【Haskell】 Stateモナドで乱数生成用モジュールを作る

今日もHaskellネタ。 Haskellでは避けて通れないモナドの話をしてみようと思ったのですが ・・・やっぱり難しい。 結局のところ、 モナドを理解する ≒ モナドのインスタンスをたくさん覚える だよなぁと思ったので、モナドについて解説するのはやめにして、 …

【Haskell】 インデントで表現された木構造のパース

今日はhaskellネタ。 現在私が務めている会社は、良くも悪くも日本の伝統的な製造業といった感じなので、 今のところ、haskellを製品のソフトウェア開発に使う機会は全くないのですが1、 excelデータ(csvとかtsv)の処理等で、haskellをスクリプト的にを使…

Pandocで脱Word

職場でWordを使って文章を書いていると、どうもSAN値が低下するので、 markdownで高品質な文章が書ける環境を模索しました。 その結果、Pandoc + xyzzyで快適に文章が書けるようになった1ので、 紹介したいと思います。 ちなみに、環境はWindows XP or Windo…

KaMailV3で業務効率を改善

学生の頃からかれこれ5年以上、xyzzy を使い続けているのですが、 特に最近、KaMailV3 で色々捗っているので、 KaMailV3導入時に参考にしたサイトをまとめておきます。 ちなみに、私がKaMailV3導入に成功した環境は以下の3つです。 普通のPOP3、SMTP Micros…

初めての記事

はじめてのの記事(テスト) ここに本文1がきます。 ヘッダー2 ここが本文2です。 以下、コードの挿入です。 module FFT where import Control.Arrow ( (***) ) import Data.Complex (Complex, cis) import Data.List (partition) type Signal = [Complex…