Hatena::ブログ(Diary)

純粋関数型雑記帳 このページをアンテナに追加 RSSフィード Twitter

このページはHaskellを愛でるページです。
日刊形式でHaskellなどについての記事をだらだらと掲載しとります。
2004 | 07 | 08 | 09 | 10 | 11 | 12 |
2005 | 01 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 06 | 07 | 08 | 09 | 11 |
2007 | 03 | 04 | 05 | 07 | 08 | 09 | 12 |
2008 | 02 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 03 | 05 | 06 | 09 | 10 | 11 | 12 |
2010 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 12 |
2011 | 01 | 02 | 05 |
本体サイト

2009年11月29日(日) Haskellerのためのプレゼンツール”MonadPoint”

[] Haskellerのためのプレゼンツール"MonadPoint"  Haskellerのためのプレゼンツール"MonadPoint"を含むブックマーク  Haskellerのためのプレゼンツール"MonadPoint"のブックマークコメント

去る11月20日Haskellナイトというイベント ( http://hop.timedia.co.jp/ )で、"HaskellerのHaskellによるHaskellerのためのプレゼン"というなんだかよくわからないタイトルで発表してきました。

遅くなりましたが、作った物の公開と発表の補足をしておきます。

概要

Haskellプレゼンツールを作りました。

ようなプレゼンツールです。

プレゼンモナディックに書くので、MonadPointと名付けました。略称は「モナポ」です。

レポジトリ

http://github.com/tanakh/MonadPoint にてMonadPointを公開しています。

http://github.com/tanakh/haskell-night にて当日使ったスライドソースWindowsバイナリを公開しています。

使い方

まず、MonadPointをcabalでインストールしてください(Windowsに入れる場合、依存ライブラリのFTGLを入れるのが大変だと思いますので、前回のエントリを参照していただければ幸いです)。それから、てきとうな.hsファイルを作って、import MonadPoint してプレゼンモナドゴリゴリと書いて、runPresentation に渡せばいい感じになると思います。レポジトリにあるサンプルが参考になると思います。

http://github.com/tanakh/MonadPoint/blob/master/test/Main.hs

若干説明

今のところサポートしているのは、

のような機能です。


基本的に、scaleでスケーリングして、縦横に並べてスライドを作ります。自動で高さとか幅を調節することはできないので、手でやらないといけません。

scale d $ do ... - 縦横に縮小。中央に配置。
scalehu d $ do ... -- 縦方向に縮小。上に配置。
scalehd d $ do ... -- 縦方向に縮小。下に配置。
scalevl d $ do ... -- 横方向に縮小。左に配置。
scalevr d $ do ... -- 横方向に縮小。右に配置。

txtc str -- 文字列。中央揃え。
txtl str -- 文字列。左揃え。
txtr str -- 文字列。右揃え。

pict filename -- 画像を表示。

txtarea strs -- 文字列リストを等幅フォントで表示。

他にも色々あるので、ソースをご参照下さい。

スライドによくつかわれるリスト記法は書きやすくする関数を提供しています。

list $ do ... -- 引数に与えられたリスト要素をうまいことレイアウトして表示する

list $ do
  li "hoge"
  ul $ do
    li "moge"

ちなみに、liなどは型が違うので、listの外側には置けません。うーん、型ですね。

何がいいのか?

基本的に誰得ではありますが…。

テンプレートを作りやすいとか。プレゼン=Haskellソースなので、なんとでもできます。

ニコニコ動画Twitterプラグインみたいなのも簡単に書けます。

今後の予定

実装がやっつけで、完成度が低すぎるので、まだまだ色々改良したいところです。

イベント感想

Haskellerの人たちがこんなに集まってるのはなかなかすごかったです。普段は肩身の狭い私も、Haskellの話ばかり出来て楽しかったです。本買ってサインもらいました。値段を安く抑えた苦労話とか。日本語版Real World Haskellは安くてバグも直っててお買い得です。カクテル名前Haskellぽくてよかった。遅延評価らしく、あとから効いてくる。発表は皆さん面白かった。総じてすごく刺激になりました。Haskellコミュニティーがもっと盛り上がっていけばいいなと思いました。

nobsunnobsun 2009/11/29 16:30 src/MonadPoint/Rendering.hs:234:6: Not in scope: `withImage'

tanakhtanakh 2009/11/29 19:33 withImageはstb-image-0.2で無くなったようですね。修正しました。