Monday 26 August 2013

アリアリブラック

アリアリブラックといえば MOTHER シリーズですが,
海外の有志が勝手に非公式に 'MOTHER 4' を作ってしまおうとしているらしい.
ファン制作の非公式続編ゲーム「MOTHER4」予告映像が公開 完全にマザーだこれ! - ねとらぼ
プロジェクトとしては Mother 4 Game - http://www.mother4game.com/ らしいですね.
Windows, Mac, Linux でも動く予定だそうな(けっこううれしい).
個人的には(色々問題が起こらないのかとかはさておき),
楽しみなようながっかりすることにならないか不安なような,微妙な感じです.
あと,MOTHER シリーズのひとつの大きな魅力はあの独特の味のある文だとおもうので,
そのへんどうなるのかなあという気がします.
日本語 ver. が出る予定があるのかというのと,出るとしてもあの魅力を出せるかどうかというのと.
下手したらいっそ英語のままがよい,みたいなことにもなりそうですしね.
どうなることやら.でもけっこう期待してます.


というのはタイトルからの流れですが,本題はアリのほう.
Langton's ant (enwp, jawp) という概念があり,それをちょっと書いてみたという日記.
ルール簡単だし,なかなか書きやすい.
  • ありさん と 碁盤目上に区切られてる地面があります.地面は色がつき,最初は全部白.
  • ありさんは白い地面の上にいると 90度 右向きに回転し,今いる地面に色をつけ,ひとマス進みます.
  • ありさんは色のついた地面の上にいると 90度左向きに回転し,今いる地面を白に戻し,ひとマス進みます.
  • これを繰り返します.
で可視化をどうしようかという話になって,
A simple Python matplotlib implementation of Conway’s Game of Life | electronut
に乗っかって matplotlib を使ってみることにしました.
matplotlib, この前は subplot とか その辺から面倒になって触っていなかったのですが,
再びお目にかかります.

…でうまく行くはずだったのだが,動画で表示させてくれる感じのやつの挙動がちょっと思ってたのと違って,
ちょっと調べなおしてからそこは書きなおそうとしているところ.
#翌日追記:とりあえず動くようにはなったけどもとのでなぜうまく行かなかったかをまだわかってない

とりあえず 15000 ステップ後の状況を静止画で見て満足しています.
以下画像

Friday 23 August 2013

人間の業を感じる











Wednesday 21 August 2013

この時期は目薬を冷蔵庫でよく冷やした後にさすのがなかなかよいです.

Tuesday 20 August 2013

(´,,•ω•,,`) わわっこんな時間に投稿?

(´,,•ω•,,`) 海外からですか!

(๑´╹‸╹`๑) え…

(๑´╹‸╹`๑) 寝付けないだけですか…

ヾ(๑╹◡╹)ノまぁでも気を落とさないでくださいっ

#懐かしい

Tuesday 13 August 2013

Haskell 入門! (13)

色々 predefined な関数使おうぜって話と,そういうのの調べ方.

en.wikibooks の Haskell に基づいたものです.CC-BY-SA での公開です.

Monday 12 August 2013

Haskell 入門! (12)

合成函数の作り方.今回は短いぜ.

en.wikibooks の haskell より.CC-BY-SA での公開です.


Sunday 11 August 2013

Haskell 入門! (11)

今回とうとう (Num a) => とか書かれてたアレの正体が明らかに.
そして数のいろんな型もお目見えします.
ちょっと長い目.

en.wikibooks の Haskell に基づいたものです. CC-BY-SA で配布.

Saturday 10 August 2013

うまくいかなくない

If you want to get an element out of a list by index, use !!. The indices start at 0.

    ghci> "Steve Buscemi" !! 6  
    'B'  
    ghci> [9.4,33.2,96.2,11.2,23.25] !! 1  
    33.2 
-- from http://learnyouahaskell.com/starting-out#an-intro-to-lists .

 learn you a haskell for great good, あのノリがあんまり好きになれなさそうなんだが,
ううん.

Haskell 入門! (10)

とうとう2桁行ったけど予約投稿やから特に感慨もない.
読みづらいかもしれない文章でごめんなさいね.

今回は前回作った  list とかから要素を取り出したい,が,まだそれほど上手くいかない.


Friday 9 August 2013

Haskell 入門! (9)

重要なデータ構造, list と tuple について.
en.wikibooks の Haskell に基づいたものです. CC-BY-SA で配布.

Thursday 8 August 2013

Haskell 入門! (8)

今回はとうとう型の話だ!!!!!

en.wikibooks の Haskell より. CC-BY-SA での公開です.


Wednesday 7 August 2013

もずくおいしいー(っ>ω<c)☆.° もずくーーー(っ>ω<c)☆.°もずくもずくもずくもずく(っ>ω<c)☆.°おいしいっっ(っ>ω<c)☆.°ウーーー (っ>ω<c)☆.°WOOOOO(っ>ω<c)☆.°も!ず!!く!!!おいしいーーーおいしい!!おいしい(っ>ω<c)☆.°

Haskell 入門! (7)

Haskell 入門企画.
今回は Guard という,条件分岐をサクッと書ける書き方について.
en.wikibooks の Haskell より. CC-BY-SA での配布です.

Tuesday 6 August 2013

Haskell 入門! (6)

いろいろ.関数の中置とか,「2 と True は等しいか」とか.

en.wikibooks の Haskell から.
CC-BY-SA での配布です.

Monday 5 August 2013

Haskell 入門! (5)

ローカルにちょっと定義をする,みたいな話.

en.wikibooks  の Haskell (pdf version) より.
CC-BY-SA での配布です.


Sunday 4 August 2013

Haskell 入門! (4)

Haskell 入門企画第四回.
とうとう関数定義するぜ!

en.wikibooks の Haskell から.CC-BY-SA で配布.

Saturday 3 August 2013

Haskell 入門! (3)

Haskell 入門企画第3回.

en.wikibooks の Haskell (pdf version) より.
CC-BY-SA での配布.

今回は重大発表があります↓

Friday 2 August 2013

Haskell 入門! (2)

Haskell 入門企画,第2回.
今回は変数にちょっと触ってみるとか,ソースファイルをどう書くか,とか.
en.wikibooks の Haskell から,CC-BY-SA での配布です.

Thursday 1 August 2013

今の Haskell 連載全編通じて en.wb の二週目読んでる僕視点なのでかなり不親切という気がしてきた.

ま,まあアレです, Haskell って何?っていうあたりと参照透過性と「副作用がない」あたり,
をちょっと調べるくらいで大丈夫になるはずだ!

# なお最近情弱情報系 blog みたいな様相を呈してるのは
# PC 上でやったことをだいたいそのまま貼り付けたり screen shot 撮ったりすればよくて
# 安易に記事になるからです.ちょっと反省してます.

Haskell 入門! (1)

Haskell is an advanced purely-functional programming language. An open-source product of more than twenty years of cutting-edge research, it allows rapid development of robust, concise, correct software. With strong support for integration with other languages, built-in concurrency and parallelism, debuggers, profilers, rich libraries and an active community, Haskell makes it easier to produce flexible, maintainable, high-quality software. -- http://www.haskell.org/
Haskell, 勉強してみようぜ.

…と思ったので,en.wikibooks.org の Haskell を 読み始めました.

Haskell
  • 純粋関数型言語.なんかかっこいい.かっこ良さそう.
    • 「関数」っていうときにそれが指すのが数学で云う関数みたいなもの.
    • 参照透過性とか副作用がないとか.そのへんのために Input / Output はむしろ(本来的には)大変ややこしいことになる,とか.その辺とかに圏論が出てくるとか.いう噂.
  • a = 1 っていうのが代入じゃなくてほんとに a = 1 っていう意味らしい. a = 2 とあとで言い直したりできないらしい.かっこいい.
  • プログラミングスレまとめ いわく
    生産性が異常に高く、この言語でPerl6を数ヶ月で実装した人もいるほど。
    また、純粋関数型なので手続き型のC/C++とはまるで別世界の様相を呈している。
    例としては、手続き型言語にあるような変数がないこと、必要になるまで計算を遅らせる遅延評価という仕組みによって無限の長さのリストを扱えることなどが挙げられよう。
  • プログラミング言語/Haskell - プログラミングスレまとめ in VIPなんかは読むと興味が湧いてくる.
  • モナド?圏論?なんやてかっこよさそう.
  • Project Euler とかやってると Haskell でやりやすいんじゃね(知らんけど)っていうのが結構あったり.
そんな感じでしれっと読み始めたら,なんか思ってたよりずっと面白い.
と,いうわけで一回の中断を挟んで最初から再び読み進めてるんですが,
二回目でも丁寧さを失わないようにまとめを作りながら読んでいまして,
それをここに投げていくことにします.まだ途中までだしどこまで続くかわかりませんが.
内容的には wikibooks の抄訳 +α-β. wikibooks 読むつもりがおありなら多分読まないほうがいいと思います.

では第一回.インストールとかそのへんと最初の計算とかそのあたり.
以下は en.wikibooks の Haskell の pdf 版に基づいたもので,
ライセンスを継承して CC-BY-SA でお届けします.
なおコードの色付けには  markup.su : Online syntax highlighter like TextMate
を利用しました.