ようこそ!浜村拓夫の世界へ

    ブログ内検索

    最近の記事

    ブックマーク数の多い記事

    Blog Translation

    Powered By FC2ブログ

    Powered By FC2ブログ
    ブログやるならFC2ブログ


    FC2ブログ LOGIN

    with Ajax Amazon

    HaskellのコンパイルとGHCiの対話式環境の終了方法

    このエントリーを含むはてなブックマーク はてなブックマーク - HaskellのコンパイルとGHCiの対話式環境の終了方法 あとで読む
    関数型言語の使い方を理解するために、Haskellの学習を始めた。
    教科書として、「すごいHaskellたのしく学ぼう!」という本を読んでいる。

    すごいHaskellたのしく学ぼう!
    Miran Lipovača
    オーム社
    2012-05-23
    ¥ 3,024



    ●HaskellのコードをGHCiでコンパイルする方法
    すごいHaskell本の5ページに、Haskellのコンパイル方法が紹介されていた。

    自分のWindowsパソコンでは、以下のように操作してみた。

    (1) Cドライブに「haskell」というフォルダを作る。
    (2) 「haskell」フォルダ内に、「baby.hs」というファイルを作る。
    (3) 「baby.hs」に「doubleMe x = x + x」と書く。
    (4) Windowsのコマンドプロンプトを起動する。
    (5) カレントディレクトリの位置を「haskell」フォルダに移動する。(cd /haskell)
    (6) 「ghci」と入力する。
    (7) GHCiが起動したら、「:l baby」と入力する。(:l は :load の省略形
    (8) 「doubleMe 9」と入力する。
    (9) 「18」と表示されたらOK
    これで、Haskellスクリプトファイルのコンパイルができることを確認した。

    (参考)
    GHCiを使って学ぶ (はじめて編) - YAMAGUCHI::weblog

    :l は :load の省略形
    GHCiではコマンド名の頭文字が一意になっているので、省略形としてコマンド名の最初の1文字を使うことができます。




    ●HaskellのGHCiを終了する方法
    Haskellのコードを書いて、GHCiでコンパイルした後、
    対話式環境(*Main>というコマンドプロンプト)を終了する(抜け出る)場合、
    ・「:quit」と入力する
    または、
    ・「Ctrl」+「D」を入力する
    これでWindowsのコマンドプロンプトに戻った。

    (参考)
    GHCによるHaskellの3つの実行方法とHello World - Cutting-Edge Programming

    対話式環境から抜けるときは、:quitコマンド、もしくはCtrl-Dを押します。

    Prelude> :quit
    Leaving GHCi.



    長いコードは、いったんスクリプトファイルに記述してから、コンパイルした方がいいな。
    (書き損じ等を直しやすい。)

    Haskellのコメント

    このエントリーを含むはてなブックマーク はてなブックマーク - Haskellのコメント あとで読む
    関数型言語の使い方を理解するために、Haskellの学習を始めた。
    教科書として、「すごいHaskellたのしく学ぼう!」という本を読んでいる。

    すごいHaskellたのしく学ぼう!
    Miran Lipovača
    オーム社
    2012-05-23
    ¥ 3,024



    ●Haskellのコメントの書き方

    さて、本を読んで、簡単なHaskellのコードを書いていて、ふと疑問に思った。
    「Haskellのコメントって、どうやって書くんだろう?」と。

    すごいHaskell本には、コメントの書き方が載ってなかった。
    Haskell コメント」 - Google検索

    Haskell-プログラムの記述について CapmNetwork

    Haskellのコメント記述方法(通常の書式において)は以下の2種類があります。

    単一行をコメントアウトする場合には「--」を記述します。
    複数行をコメントアウトする場合には「{--}」を記述します。

    -- コメント
    {-
    複数行での
    コメント
    -}



    基本文法 - ウォークスルー Haskell

    コメントには,-- から始まる行コメントと,{- から -} までのブロックコメントがあります。
    ブロックコメントはネストできます。

    -- 行コメント

    {- ブロックコメント
    {- ネスト可能 -} -}



    ・行コメント (単一行) → 「--」 (PHPの「//」)
    ・ブロックコメント (複数行) → 「{-」「-}」 (PHPの「/*」「*/」)

    複数行のブロックコメントでは、ネストできる。
    便利な反面、逆にコメントアウトを外すときは、外し忘れに気を付けないといけないかな?

    HaskellでJavaScriptを活用するアイデア

    このエントリーを含むはてなブックマーク はてなブックマーク - HaskellでJavaScriptを活用するアイデア あとで読む
    関数型言語の使い方を理解するために、Haskellの学習を始めた。
    教科書として、「すごいHaskellたのしく学ぼう!」という本を読んでいる。

    すごいHaskellたのしく学ぼう!
    Miran Lipovača
    オーム社
    2012-05-23
    ¥ 3,024


    ざっと斜め読みして、1巡した。
    サンプルコードを動かしながら、2巡目に入ってみる。

    ここに来て、問題が発生した。
    一言で言うと、Haskellの勉強がつまらないのである。
    モチベーションが維持できない?

    Haskellを使って、何を作るのか?という目的が欠如していることが原因だった。
    一応、Haskell+YesodでWebサイトを作る、という暫定的な目標を設定しているが、Yesodの使用例を見てみたら、劇的に便利というほどでもなさそうだった。

    何か面白いネタでもないか?と探してみたら、あった!!!
    HaskellをJavaScriptの代替として使う試みが紹介されていた。

    PureScript:JavaScriptにコンパイルされるHaskellライクな言語
    Haskell風AltJSのベンチマーク - Qiita
    さらば愛しき JavaScript —— 愛と欲望の果てに Haskell は fay と出逢う。 - これは圏です
    Haskell から見た node.js - あどけない話

    これなら、やってみる価値がありそうだなー。
    Webアプリのフロントエンドもバックエンドも、JavaScript(AltJS)で作るエコシステムで、Haskellを活用できるかな?

    【“HaskellでJavaScriptを活用するアイデア”の続きを読む】

    HaskellはWebサイト制作に役立つのか?

    このエントリーを含むはてなブックマーク はてなブックマーク - HaskellはWebサイト制作に役立つのか? あとで読む
    関数型プログラミングの教材として、「すごいHaskellたのしく学ぼう! 」を使ってみる。

    どんな内容なのか、本の全体をパラパラめくって概観してみた。

    なんか、サンプルコードを見る限りでは、Haskellが直ぐにWebサイト制作に役立つとは思えなかった。

    正直、時間の無駄になるのではないか?という心配もあるが、
    JavaScriptやNode.jsで関数型プログラミングを行うときの肥やしにはなるだろう、
    という思いのもと、学習を進めてみることにしたい。

    ・目標: Haskell + Yesod(フレームワーク)でWebサイト試作
    Ruby on Railsの生産性と比較
    ・並列プログラミングの容易性の検証

    関数型プログラミングに期待することは、テストの簡略化です。

    =Railsのようなフルスタックフレームワークを使っていながら、テスト地獄で時間がかかってたら、スキャフォールディングで時間短縮できても意味ねーだろ?みたいな。

    すごいHaskellたのしく学ぼう!
    Miran Lipovača
    オーム社
    2012-05-23
    ¥ 3,024

    【“HaskellはWebサイト制作に役立つのか?”の続きを読む】

    Haskellの実行環境「Haskell Platform」

    このエントリーを含むはてなブックマーク はてなブックマーク - Haskellの実行環境「Haskell Platform」 あとで読む
    Haskellを勉強しようと思って、「すごいHaskellたのしく学ぼう! 」を読んでみたら、いきなりつまづいた。

    すごいHaskellたのしく学ぼう!
    Miran Lipovača
    オーム社
    2012-05-23
    ¥ 3,024


    Haskellの実行環境を用意(インストール)する方法が書いてないじゃん!?

    よく見たら、イントロダクション(p.8)に、「Haskell Platform」を使え、って書いてあった。

    …って、そんだけかよ!orz

    まあ、そんなときのためのGoogle先生なのですが><

    ↓↓↓

    Haskell インストール」 - Google検索

    Haskell Platform のインストール方法

    これで行ってみよう!

    【“Haskellの実行環境「Haskell Platform」”の続きを読む】

    すごいHaskellたのしく学ぼう!

    このエントリーを含むはてなブックマーク はてなブックマーク - すごいHaskellたのしく学ぼう! あとで読む
    関数型プログラミングを学ぶ教材として、Haskellを取り上げてみたい。

    Haskellの学習コストは、どれぐらいだろうか?

    1週間程度で使えるようになれば良いけど、時間がかかるなら面倒くさいかな?

    すごいHaskellたのしく学ぼう!
    Miran Lipovača
    オーム社
    2012-05-23
    ¥ 3,024


    この本で勉強してみます。

    【“すごいHaskellたのしく学ぼう!”の続きを読む】

    シンガポールの首相、リー・シェンロン氏「Haskell」を学ぶ

    このエントリーを含むはてなブックマーク はてなブックマーク - シンガポールの首相、リー・シェンロン氏「Haskell」を学ぶ あとで読む
    最近の関数型言語の話題をリサーチしてみようと思って、はてなブックマークを見てみたら、
    シンガポールの首相、リー・シェンロン氏が、関数型プログラミング言語「Haskell」を学ぶ、
    という記事がありました。

    タグ「haskell」を検索 - はてなブックマーク

    Wadler's Blog: Prime Minister of Singapore plans to learn Haskell

    Transcript of Speech by Prime Minister Lee Hsien Loong at Founders Forum Smart Nation Singapore Reception on 20 April 2015 | Prime Minister‘s Office Singapore

    My children are in IT, two of them – both graduated from MIT. One of them browsed a book and said, “Here, read this”. It said “Haskell – learn you a Haskell for great good”, and one day that will be my retirement reading.



    <対訳>
    スラッシュリーディングSIM式の日本語訳)
    私の子供たちはITにいて / 彼ら二人は / ともにMITを卒業した。
    そのうちの一人は / 本を閲覧して言った / 「ここで / これを読んで」と。
    それは言った / 「ハスケル すなわち 学ばせよ / あなたに / ハスケルを / 偉大な利益のために」と。
    そしてある日 / それはなるだろう / 私の引退後の読書に。

    ・返り読みの日本語訳
    (私の子供たちはIT業界にいます。彼ら二人は、ともにMITを卒業しました。)
    (そのうちの一人は、本を読み、「ほら、これ読んでみて」と言いました。)
    (本のタイトルは「ハスケル - 大きな利益のためにあなたはハスケルを学びなさい」でした。)
    (私は引退したら、いつの日にか、それを読むでしょう。)

    英語は英語で考えないと話せません
    ダン 上野
    創英社/三省堂書店
    2014-09-19
    ¥ 1,512


    リー・シェンロン氏の子供たちは、MITを卒業して、IT業界で働いており、
    父が首相を引退したら、Haskellの本を読んでみるように勧めたみたいですね。

    リー・シェンロン - Wikipedia

    リー・シェンロン(Lee Hsien Loong、簡体字:李显龙、繁体字:李顯龍、1952年2月10日 - )は、シンガポール共和国の政治家。
    現在、第3代首相、人民行動党書記長。
    国父リー・クアンユーの息子。客家人。
    ロシア語、マレー語、華語(標準中国語)、英語が堪能。
    2002年リンパ腫を発病後、復帰した。
    第3代首相就任以降、父と同じく権威主義的政治体制、いわゆる「開発独裁」を体現し、シンガポールのさらなる経済的繁栄を目指している。



    開発独裁 - Wikipedia

    開発独裁(かいはつどくさい、英: developmental dictatorship、developmental autocrat)とは
    1. 経済発展のためには政治的安定が必要であるとして、国民の政治参加を著しく制限する独裁を正当化すること。
     また、そのような政治運営を通して達成した経済発展の成果を国民に分配することによって、支配の正当性を担保としている政治体制を「開発独裁体制」という。
     より明確な定義を与えた「開発主義」という用語が用いられている。
    2. 企業や研究機関が行う商品化の流れの中で、研究開発期と量産期の間に立ちはだかる、いわゆる「研究開発における死の谷」という困難な時期がある。これを乗り越えるためにトップダウン型で行う方法論。



    開発独裁=国民を札束ビンタで飼い慣らす方法?

    このHaskell本は、日本語訳が出版されています。

    すごいHaskellたのしく学ぼう!
    Miran Lipovača
    オーム社
    2012-05-23
    ¥ 3,024


    IT業界に従事している人は、一般教養の一つとして、Haskell本は読んでおいた方が良いでしょう。
    以前、チョロっと斜め読みしてみましたが、ちゃんと精読してみようと思いました。

    Haskell - Wikipedia

    Haskell(ハスケル)は非正格な評価を特徴とする純粋関数型プログラミング言語である。名称は論理学者であるハスケル・カリーに由来する。



    HaskellってPHPよりも便利なのかなー?
    なんで利用者が増えないんだろ?

    関数型ポエム

    このエントリーを含むはてなブックマーク はてなブックマーク - 関数型ポエム あとで読む
    最近、関数型プログラミングを巡って、にぎやかな議論が沸き起こっているようです。

    岡部健(おかべ けん)と名乗る人物が、関数型プログラミングとオブジェクト指向プログラミングを比較して論じたら、様々な批判が噴出したらしいのです。

    状況を知るための検索キーワードは、「関数型ポエム」。
    ↓↓↓
    岡部 健による技術記事 KenOkabe's tech writing

    岡部健氏は、関数型プログラミングに関して、自著を出版されるようです。
    (明日が発売日ですね!)

    関数型プログラミングに目覚めた! IQ145の女子高校生の先輩から受けた特訓5日間
    岡部健
    秀和システム
    2015-04-24
    ¥ 1,404


    【“関数型ポエム”の続きを読む】

    宮本武蔵の五輪書

    このエントリーを含むはてなブックマーク はてなブックマーク - 宮本武蔵の五輪書 あとで読む
    昔々、あるところに、宮本武蔵という人がいました。

    宮本武蔵は、「五輪書」という本を書きました。

    五輪書は、現代にも伝わるベストセラーになりました。

    五輪書 (いつか読んでみたかった日本の名著シリーズ5)
    宮本武蔵
    致知出版社
    2012-12-03
    ¥ 1,512


    【“宮本武蔵の五輪書”の続きを読む】

    捲土重来

    このエントリーを含むはてなブックマーク はてなブックマーク - 捲土重来 あとで読む
    夕日


    今日という日は二度と戻って来ない。

    今日という日を生きた自分は、今この瞬間にしか存在していない。

    過去にも、未来にも、今の自分と完全に同じ自分は存在していない。

    予測不能な変化の中でも、1つだけ100%分かっている未来がある。

    死ぬ時の後悔を先取りして、今解消しておきたい。

    幸いなことに、まだ生きている。

    時間を無駄にしたくない。

    【“捲土重来”の続きを読む】

    FC2Ad