カテゴリー
Haskell Mac λ計算 ただの現状記述 (Daily Activities) コンピューター (Computer) プログラミング (Programming)

Haskellに惑わされ – 5

さて Haskellで整数mと nを足す関数 add’というのを作りましょう もちろん一人ではできないので、書籍を読みながらですが・・・

Prelude>add' = \m n = m + n :: Int

ということになりますが、何やら訳のわらない記号が出てきました そもそも addという関数名に何で ‘ というものがついているのでしょうか? これは何と呼ぶのでしょうか Macのキーボードでは 7のキーをシフトして押すものです これはどうやら「アポストロフィー」と呼ばれるものです

間違いやすい記号で Macでは「@」のキーをシフトしながら押すと出てくるものでこれはどうやら シングルクォーテーションマークと呼ばれるものです

見かけは似ていてもプログラムの中で使用する場合には全く意味が異なりますので注意ですね!!

実はこれだけのプログラムを書くだけでも落とし穴があり、大抵の人はそこで早期に脱落するのです、たとえば

  1. そもそも’なのか `なのか どちらなのか
  2. 何で’なんて使うのか
  3. \という変な傾きの棒はどのように打ち込むのか
  4. :: Intとは何なのか

こんなところですね

これについては そろそろ外来診療せねばならないのでまた後でね

カテゴリー
Closure Lisp λ計算 ただの現状記述 (Daily Activities) コンピューター (Computer) プログラミング (Programming)

今日は数ヶ月ぶりの日曜日

いやあ久しぶりにゆっくりと休んでいます 本当に何ヶ月間も休みが無かったのです そんな中今日は朝からゆっくりと日曜日です 「日曜日には何をするか?」ですか、決まっています ネットで本日休店でないことを確認して、自宅近くの「ブックスペース栄和堂」にいるのです

残念ながらこの店は 10月25日をもって閉店するそうです なんでも大家さんが建て替えを決定したとのことです まあそうは言いましても目の前には広大な JR大船工場跡地が広がり、そこは未だ原っぱのままです 数年内に鎌倉市役所などの公共施設と何処かの大学が移転してきて、近くには JRの新駅もできるという噂です そうなれば、この地域は鎌倉で一番地価も上昇する土地となるでしょう そんな予測もあって立ち退きになるのかも知れません そらには目の前のボーリング場も先日の台風に被害を受け、台風の後は営業を中断しているとのことでした ここも立ち退きになるのかも知れませんね 時代はどんどん変わっていきますね

そうそうそして今日はその栄和堂で 12:30より籠もっているのです 例によってプログラミングをしながら本(Kindle)を呼んだり僕の大好きな「まったりとした」時間を過ごしています 今読みかじっている本はこれです

はじめてのLISP関数型プログラミング

LISPというコンピューター言語はほとんど FORTRANに次ぐ古くから開発された言語です しかし、その独特の表現 – カッコの羅列 のためになかなか素人には馴染みがないもので、僕にとっても例外ではありませんでした

しかし、LISPは古くから純粋関数を用いた関数型プログラミングを提唱し、その流れをいくつかの言語、特に現代の Web開発では必須の言語である Javascriptにもその系譜がつながっているのです

関数型ブログラミングの中で特徴的なのは Closureやらラムダ計算 (λ計算)、あるいは無名関数というもの、そして方法論としての monadoとかいう言葉です これらを知っているか知らないでいるか、そこには多分 ずっと日本国内にとどまっているか あるいは外国を渡り歩いているか それぐらいの違いがあるのです

もっともこの本の中のある一文を引用すると「しかしラムダ計算を知っていることで見栄を張ることはもちろん、関数型プログラミングの本質に迫れます。」ということも事実なのです 少なくとも僕は見栄を張りたいですねっ