Skip to content

Commit

Permalink
add repos link
Browse files Browse the repository at this point in the history
  • Loading branch information
kzfm committed Jul 9, 2012
1 parent 16133ac commit 86445ac
Show file tree
Hide file tree
Showing 5 changed files with 158 additions and 13 deletions.
23 changes: 19 additions & 4 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -55,16 +55,26 @@ <h3>Navigation</h3>

<div class="section" id="haskell-light-airy-haskell">
<h1>ゆるふわHaskell (Light &amp; Airy Haskell)<a class="headerlink" href="#haskell-light-airy-haskell" title="Permalink to this headline"></a></h1>
<div class="section" id="id1">
<h2>はじめに<a class="headerlink" href="#id1" title="Permalink to this headline"></a></h2>
<p>巷に溢れているHaskell本はいきなりのIOを避けているものが多いですよね。こ
れらの本を読んでわかった気になっても、実際に日々のタスクに使おうとした
場合に結構ハマることが多いんですよね。</p>
<p>「習うより慣れろ」みたいなスタイルでHaskellの学習をするとどういう学習曲
線をたどることになるんだろうか? 動けばいいやというスタンスでHaskellのコー
ドを書くことは可能なんだろうか?</p>
線をたどることになるんだろうか? phpのように動けばいいや(偏見?)というス
タンスでHaskellのコードを書くことは可能なんだろうか?</p>
<p>と疑問に思ったので、よくあるスクリプト言語の入門書(IOから入る系)のよう
な話題を取り扱ってみようかなと。</p>
<p>Sphinxという良い感じに文章をかけるツールと、書いた文章をGitHub Pagesで
手軽に公開できるような環境の存在も、この試みを後押ししています。</p>
<p><a class="reference external" href="http://sphinx-users.jp/">Sphinx</a>という良い感じに文章をかけるツー
ルと、書いた文章をGitHub Pagesで手軽に公開できるような環境の存在も、こ
の試みを後押ししました。というか書いていて楽しいので、みなさんもSphinx
つかうとハッピーになれると思います。</p>
</div>
<div class="section" id="id2">
<h2>フィードバックなど<a class="headerlink" href="#id2" title="Permalink to this headline"></a></h2>
<p>GitHubのリポジトリは<a class="reference external" href="https://github.com/kzfm/laskell/tree/gh-pages">kzfm/laskell</a>になります。
私のHaskellの勉強を兼ねているので、間違いや疑問点などは<a class="reference external" href="https://github.com/kzfm/laskell/issues">Issues</a>のほうに送ってもらえると助かります。
もちろんpull requestも歓迎です。</p>
<p>Contents:</p>
<div class="toctree-wrapper compound">
<ul>
Expand Down Expand Up @@ -94,6 +104,7 @@ <h1>ゆるふわHaskell (Light &amp; Airy Haskell)<a class="headerlink" href="#h
</li>
</ul>
</div>
</div>
<div class="section" id="indices-and-tables">
<h2>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Permalink to this headline"></a></h2>
<ul class="simple">
Expand All @@ -113,6 +124,10 @@ <h2>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Pe
<h3><a href="#">Table Of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">ゆるふわHaskell (Light &amp; Airy Haskell)</a><ul>
<li><a class="reference internal" href="#id1">はじめに</a></li>
<li><a class="reference internal" href="#id2">フィードバックなど</a><ul>
</ul>
</li>
<li><a class="reference internal" href="#indices-and-tables">Indices and tables</a></li>
</ul>
</li>
Expand Down
19 changes: 15 additions & 4 deletions index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,31 @@
ゆるふわHaskell (Light & Airy Haskell)
======================================

はじめに
========

巷に溢れているHaskell本はいきなりのIOを避けているものが多いですよね。こ
れらの本を読んでわかった気になっても、実際に日々のタスクに使おうとした
場合に結構ハマることが多いんですよね。

「習うより慣れろ」みたいなスタイルでHaskellの学習をするとどういう学習曲
線をたどることになるんだろうか? 動けばいいやというスタンスでHaskellのコー
ドを書くことは可能なんだろうか?
線をたどることになるんだろうか? phpのように動けばいいや(偏見?)というス
タンスでHaskellのコードを書くことは可能なんだろうか?

と疑問に思ったので、よくあるスクリプト言語の入門書(IOから入る系)のよう
な話題を取り扱ってみようかなと。

Sphinxという良い感じに文章をかけるツールと、書いた文章をGitHub Pagesで
手軽に公開できるような環境の存在も、この試みを後押ししています。
\ `Sphinx <http://sphinx-users.jp/>`_\ という良い感じに文章をかけるツー
ルと、書いた文章をGitHub Pagesで手軽に公開できるような環境の存在も、こ
の試みを後押ししました。というか書いていて楽しいので、みなさんもSphinx
つかうとハッピーになれると思います。

フィードバックなど
==================

GitHubのリポジトリは\ `kzfm/laskell <https://github.com/kzfm/laskell/tree/gh-pages>`_\ になります。
私のHaskellの勉強を兼ねているので、間違いや疑問点などは\ `Issues <https://github.com/kzfm/laskell/issues>`_\ のほうに送ってもらえると助かります。
もちろんpull requestも歓迎です。

Contents:

Expand Down
2 changes: 1 addition & 1 deletion searchindex.js

Large diffs are not rendered by default.

108 changes: 108 additions & 0 deletions sources/chatbot.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
=============================
Haskellで人工無脳をつくろう
=============================

はじめに
========

Haskellで人工無脳をつくると面白そうなのでやってみることにしました。Twitterのボットくらいを目指します。

Haskell開発環境を用意しよう
===========================

Haskell Platformのインストール
------------------------------

\ `Haskell Platform <http://hackage.haskell.org/platform/>`_\ から自分
のOSに対応するものをダウンロードしてインストールすると、\ `一通りの開発環境 <http://lambda.haskell.org/platform/doc/current/frames.html>`_\
が揃います。

cabalを使う
-----------

cabalは\ `Hackage <http://hackage.haskell.org/packages/hackage.html>`_\ のパッケージをインストールするためのツールです。
これはいわゆるperlのcpanやpythonのeasy_installにあたるものなので、早めに覚えるべきコマンドです。先人の知恵を上手に取り入れて
素早く開発するのはHaskellでも一緒です。

Haskell Platformをインストールすれば使えるようになっているはずなので、
早速コマンド入力用のユーザーインターフェースライブラリを導入してみます

.. code-block:: sh

$ cabal install readline

幾つかのログ情報が端末に出力されて、インストールは終了すると思います。簡単ですね。

.. note::

osxユーザーでreadlineをhomebrew経由でインストールしている場合は

cabal install readline \
--configure-option=--with-readline-libraries="/usr/local/Cellar/readline/6.2.2/lib" \
--configure-option=--with-readline-includes="/usr/local/Cellar/readline/6.2.2/include"

でインストールできるはずです。readlineのバージョンは利用しているものに適宜読み替えてください。

人工無脳の名前を考えよう
========================

まずは人工無能の名前を考えなければいけませんよね。
なんといっても、いい名前はモチベーションに必須ですからね。

というわけであらかじめ考えておきました。

命名「モナポ(monapo)」

- Haskellと言えばアレ
- 地元のB級グルメ「つけナポリタン」のご当地キャラ
- 地元の選挙区出身の原発問題担当大臣問題から

なかなかいい名前です。

オウム返しさせる
================

最初は人工無能の基本であるオウム返しをさせてみます。ちなみにうちの三歳
の息子も言ったことを繰り返すの、でちょっとめんどくさいと思う時がありま
すが、ヒトの会話の発達段階には必要なイベントなんでしょう。

.. code-block:: haskell

import System.Console.Readline

main :: IO ()
main = loop
where loop = do
maybeLine <- readline "> "
case maybeLine of
Nothing -> return ()
Just "quit" -> return ()
Just line -> do
putStrLn $ "monapo> " ++ line
loop

上記のコードをmonapo.hsという名前で保存したら早速コンパイルしてみましょう

.. code-block:: sh

$ ghc --make monapo
[1 of 1] Compiling Main ( monapo.hs, monapo.o )
Linking monapo ...

無事コンパイルできたら、早速実行してみましょう。あいさつからはじめて、
とりあえず近所の民主党候補のポスターで覚えていたものをオウム返しさせて
みます。

.. code-block:: sh

$ ./monapo
> こんにちわ
monapo> こんにちわ
> ごうしでごー
monapo> ごうしでごー
> たむけん参上!
monapo> たむけん参上!


.. todo:: コードの説明

19 changes: 15 additions & 4 deletions sources/index.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,31 @@
ゆるふわHaskell (Light & Airy Haskell)
======================================

はじめに
========

巷に溢れているHaskell本はいきなりのIOを避けているものが多いですよね。こ
れらの本を読んでわかった気になっても、実際に日々のタスクに使おうとした
場合に結構ハマることが多いんですよね。

「習うより慣れろ」みたいなスタイルでHaskellの学習をするとどういう学習曲
線をたどることになるんだろうか? 動けばいいやというスタンスでHaskellのコー
ドを書くことは可能なんだろうか?
線をたどることになるんだろうか? phpのように動けばいいや(偏見?)というス
タンスでHaskellのコードを書くことは可能なんだろうか?

と疑問に思ったので、よくあるスクリプト言語の入門書(IOから入る系)のよう
な話題を取り扱ってみようかなと。

Sphinxという良い感じに文章をかけるツールと、書いた文章をGitHub Pagesで
手軽に公開できるような環境の存在も、この試みを後押ししています。
\ `Sphinx <http://sphinx-users.jp/>`_\ という良い感じに文章をかけるツー
ルと、書いた文章をGitHub Pagesで手軽に公開できるような環境の存在も、こ
の試みを後押ししました。というか書いていて楽しいので、みなさんもSphinx
つかうとハッピーになれると思います。

フィードバックなど
==================

GitHubのリポジトリは\ `kzfm/laskell <https://github.com/kzfm/laskell/tree/gh-pages>`_\ になります。
私のHaskellの勉強を兼ねているので、間違いや疑問点などは\ `Issues <https://github.com/kzfm/laskell/issues>`_\ のほうに送ってもらえると助かります。
もちろんpull requestも歓迎です。

Contents:

Expand Down

0 comments on commit 86445ac

Please sign in to comment.