りんごがでている

何か役に立つことを書きます

HaskellのFusionがあれば速度と抽象化を両立できる

データの分析をする際には配列やベクトルは欠かせないデータ構造です。 大体どの言語にも大体配列は用意されていて、そこにサンプルのデータ等を入れて統計量を計算したり関数に渡して回帰をしたりするわけです。 ベクトルという単位でデータの塊を扱うもの…

Pythonのコマンドライン引数処理の決定版 docopt (あとJuliaに移植したよ)

Pythonをよく使う人にはよく知ってる人も多いのですが、docoptという便利ライブラリがあります。 docoptはargparseやoptparseのようなコマンドライン引数をパースするライブラリなのですが、その発想がコロンブスの卵なのです。 例えばPython標準のargparse…

Haskellでデータ処理がしたい!

この記事はIIJの@kazu_yamamotoさんの下で、アルバイトとして書いています。 最終的な目的はHaskellでの統計処理やデータ処理のツールを整備しようというものですが、その下調べをした内容をこの記事にまとめています。 ご意見などコメントいただけるとあり…

Juliaのデストラクター

Juliaのマニュアルを読むとコンストラクターの記述はちゃんとあるのですが、デストラクターに関しての記述が見当たりません。ググっても情報が出てこないようなので、ここにその方法を残しておきます。 JuliaにはC++の~ClassName()のようにデストラクター専…

matplotlib入門

matplotlibはPythonでグラフを描画するときなどに使われる標準的なライブラリです。 画像ファイルを作るばかりでなく、簡単なアニメーションやインタラクティブなグラフを作ることも可能です。 実際の例はmatplotlibサイトのギャラリーで見ることができます…

Haskell Tips (文字列編)

この記事はHaskell Advent 2012のための記事です。(遅れてすいません(ヽ´ω`)) Haskellで実際にプログラムを書く上では、様々なパッケージにある型や関数を利用するのが不可避になります。 そういった便利ツールのうち文字列まわりについて調べたところを、Ha…

モナドトランスフォーマー・ステップ・バイ・ステップ(Monad Transformers Step By Step)

著者のMartin Grabmüller氏に許可をいただきましたので、 Haskellモナドトランスフォーマーのチュートリアルを翻訳したものを公開します。 タイポや誤訳、プログラムのミス等ありましたら、 Twitter宛@bicycle1885かコメント欄までご連絡頂けるとありがたい…

第6回 スタートHaskell2 で発表してきました

2012年の11月18日日曜日に神保町で行われたスタートHaskell2の第6回で、モナドについて発表してきました。 当日の朝まで資料作って、お布団との癒着により家を出るのがギリギリになって、バス停で財布を忘れてきたことに気がついて取りに戻ったのでギリギリ…

Haskellのパッケージ管理について調べてみた

Haskellやって1年ちょっと経つわけですが、Haskellで使うpackageの管理についてよく知らなかったので色々調べてみました。 対象としては最近Haskellを始めた方やpackage管理についてよく知らないという方向けです、 packageを利用する側からの説明なので、…

YAPC::Asia 2012でスタッフしてきた(2回目)

YAPC::Asia 2012で去年に引き続き今年もスタッフしてきましたΣ(゚∀゚ノ)ノ去年まではずっと大岡山の東工大でやってきたようですが、今年は私の本拠地であります東大本郷キャンパスでした。YAPC::Asiaとは私にとってLarry Wallやネットでしか見たことないPerl Mon…

CSSとjQueryのreadyイベントのタイミング

ちょっとハマったので紹介しておきます。 症状 jQueryを使ってウェブページのグローバルナビゲーションをウィンドウに対して縦方向にセンタリングしようとしていたとき、ページのリロードを繰り返すと3回に1回ぐらいグローバルナビゲーションの位置が下に…

Yesodチュートリアルの蛇足(3)

前回に引き続きYesodチュートリアルを先に進めていこう。参考にしているチュートリアルはこちら Haskell web programming 今回は3章Mirrorをやってみる。 こんな入力フォームに"Hello Yesod!"と打つと、そのテキストとテキストをひっくり返した文字列を結合…

Yesodチュートリアルの蛇足(2)

前回の続きを。参考にしているチュートリアルはこちらから。 Haskell web programming今日は2.Echoからやっていこう。YesodはFront Controller Patternをとっている。 つまりYesodへのリクエストはひとつの入り口から入って、そこから各所に割り振られる。 …

Yesodチュートリアルの蛇足(1)

YesodというHaskell製のフレームワークがある。 近々O'ReillyからYesod本(Haskell and Yesod)が出るらしいので、その前にちょっと触ってみようと思ったのでその記録を。参考にしたチュートリアルは、 Haskell web programming 冒頭の紹介によると、膨大なリ…

スタートHaskell 第6回(最終回)に参加してきた

先週の土曜日に当たる1月28日、神保町近くにあるIIJを会場にした「スタートHaskell 第6回」に参加してきた。 スタートHaskellは去年7月の第0回から数えて7回目で、自分はこのうち6回参加したので結構参加者の人たちを(一方的に)覚えてしまった。 @…

Ubuntu11.10 から Linux Mint 12 "Lisa" へ

OSの移行なんてそうそうやるものでもないので、備忘録として。 MintはUbuntuより人気? DistroWatch.com: Put the fun back into computing. Use Linux, BSD.のデータによると、ページランク的にはMintがUbuntuを上回って今一番注目を集めているLinuxディス…

一体何番煎じか分かったもんじゃないけどMonadでStack (2)

前回の記事で作製した data Stack a = Stack a (Stack a) | Empty deriving (Show) type MonadStack a = State (Stack a) a で問題が発覚したから、ちゃんと直しましょう。名だたるHaskeller達に噴飯されないように。せめて失笑レベルまで持って行きたいな。…

[idea] ものごとに名前を付けると、中身は隠される

市民ら約300人が参加。二井関成知事が基調講演し、「04年に阿東町(現・山口市阿東町)で79年ぶりに鳥インフルエンザが発生した際、トップの決断の重要性を痛感した。近年はゲリラ豪雨も増えており、自助、公助、共助を組み合わせた防災文化を日ごろ…

一体何番煎じか分かったもんじゃないけどMonadでStack (1)

前回のスタートHaskell第5回に触発されたので色々とモナドをいじっていこうっと♪~(´ε` ) おっと、触発されただけで別にマスターしてないので悪しからず。 まだ全然Monad理解してないのでツッコミなどあったら是非是非お願いします。さて、状態を扱えるCont…

スタート Haskell 第5回

スタートHaskell第5回(http://atnd.org/events/22289)参加してきましたのでメモなどを。 概要 発表 今回はプログラミングHaskellの10章と11章のお話+山本和彦(@kazu_yamamoto)さんのモナドチュートリアル その後 後半の実習と懇談会は予定があって参加できな…