読者です 読者をやめる 読者になる 読者になる

Creatable a => a -> IO b

Haskellと数学とちょびっと音楽

Haskellでプレゼン資料を作ってみよう!!

gdgdと文章を読みたくない人のためにとっとと本題済ませます。 ちゅーんさんがHaskell上でプレゼン用のスライドを生成するための言語内DSLを公開しました。

Hackage : http://hackage.haskell.org/package/takahashi
サンプル兼ドキュメント:http://tokiwoousaka.github.io/takahashi/contents/20150213takahashi.html (ソースコード) Githubhttps://github.com/tokiwoousaka/takahashi

以上のURLを元によろしくやって頂ければ幸いです。

開発に至った経緯とか

はいども、こころぴょんぴょんちゅーんさんです。

皆さん、プレゼンしてますか? プレゼンは大事ですよー、婚活と同じくらいには大事です。

というわけで、 イマドキのプレゼンテーションには欠かすことの出来ない、 発表用のスライドですが、普段どうやってスライドを作りますか?

Windows使いの皆さんは爽やかにMS OfficePowerPointなんかを使ってるんじゃないかなーと思いますが、 Linuxを愛用しているギークの皆さんは、 OOoのImpressだと納得できない(マウス持ちたくない的な意味で)人も多いんじゃないかと思われます。 わかります、発表スライドもvimで作りたいじゃないですか。LaTeX?あーあーきこえないきこえない。

あと、Macは知らない。


というわけで、ちゅーんでも使えるLinuxUbuntuを愛用するちゅーんことちゅーんさんも、 納得できるスライド作成環境を求めてそれはそれは長いこと彷徨ってきました。

一時期、gistのMarkDownをスライドにするようなWebサービスを愛用していたのですが、 いずれもgistの仕様変更について行けず軒並み動かなくなってしまい、 んで、似たような事をローカルで出来るツールを探してみたのですが、納得いけるものは見つからず。

無いなら作ればいいじゃない、という事で半年ほど前に開発に至ったわけです。

もともとは、名古屋こわいで有名なよんたさん(@keita44_f4)が、 関数型LT大会高橋メソッドで発表していたのにインスピーレーションを受け、 これなら実装も簡単だろうという事で、 高橋メソッドのスライドをちゃかちゃかっと作るような仕組みを、半日くらい使って作りました。

で、しばらくそのまんま運用していたんですが、 LTならまだしも、15分〜の発表に高橋メソッドを採用するのは色々と限界があるなーと思ってた矢先、 3月下旬にモナド基礎勉強会vol2で発表する機会を頂きました。 それを受け、本ライブラリを色々なスライドを作れるように大改造を施し、 わりと実用的なレベルになってきたので、今回の公開に至ったわけです。

Takahashiという名称にはそんな経緯があったりとかなかったりとかするのです。

Takahashi Monadの良いところ

  • エディタだけで作れる
  • 導入が楽
    • ただしHaskellerに限る
  • それっぽく書けばそれっぽくなる
  • 出来上がったスライドはブラウザさえあれば閲覧できる
  • モナドとして提供されている
    • 無駄にチューリング完全
    • 拡張に対する可能性が高い
      • もくじページの自動生成とか出来そう
    • 型安全 ← 超重要

Takahashi Monadの悪い所ところ

  • おだてにも読みやすいとか書きやすいとか言えない
  • 細かい表示制御は出来ない
  • 出力されるHtmlソースがなかなか酷い
    • 誰か助けて
  • 抜ける所は手を抜いて作ってるので影響無い程度には遅い
  • モナド変換子になっていない

というわけで

Linuxでのスライド作成環境に悩んでいる方は、試しにTakahashiMonadを導入してみは如何でしょうか。

そんで、バグ報告とかPullRequestとか頂けると嬉しいです。 Let's join me!!