Haskell≠現場言語って?

(元ネタはSoftwareDesign誌の9月号掲載の小飼弾さんのコラムです)Haskellは儂にとっては現場言語だけどなにか? catごとき(というとcatに失礼だよなぁ),スクリプトを書くというのがすでに現場思考じゃないと思うけどなぁ.cat相当の機能を使いたければcatコ…

ニコリ「スリザーリンク」名品100選

ペンパの中で最も好きなもののひとつ.作家のコメントがとてもおもしろい.パズルに「難易度」という指標のほかに,「解き味」という理屈としてはすこし不思議な感覚があることが良く判る. ニコリ「スリザーリンク」名品100選作者: ニコリ出版社/メーカー: …

「変数の初期化」「変数の再代入禁止」

プログラミング言語のHaskellを説明するとき,説明の相手がCプログラマであれば,その人が知っているであろう概念を使って説明する方がわかりやすい.と考える心情はわからないわけではない. Haskellでは変数の初期化は一度しかできない Haskellでは変数は…

関数プログラミングの楽しみ

"The Fun of Programming" を翻訳しました.来週,出ます. 関数プログラミングの楽しみ作者: Jeremy Gibbons and Oege de Moor,山下伸夫出版社/メーカー: オーム社発売日: 2010/06/23メディア: 単行本(ソフトカバー)購入: 3人 …

行列

L'eclat des jours(2010-05-28)命令プログラマにとっては行列は2次元配列なので,インデックスを使って要素にアクセスしようとするのは自然です.Haskellのように行列をリストのリストで表現すると,何だかアクセスが面倒な気がするのもうなずけます.(!!)を…

発表資料

Haskellers Meeting 2010 Spring で発表したスライドを以下のように公開しました。 もう1つの外界との対話の表現 Another Expression for Interaction with Outside World プログラムコードについてはSanta Claus problem - HaHaHa!をどうぞ

Santa Claus problem

{-# LANGUAGE TypeOperators #-} import Data.List import Data.Pseudo (Pseudo, (:->),randomDelayList,merger,probe,embedPseudo) data Colleague = Elf Int | Reindeer Int deriving (Eq,Show) elf :: Int -> [Colleague] -> [Colleague] elf n (x:xs) = …

CLTT

読むかなぁ Categorical Logic and Type Theory, Volume 141 (Studies in Logic and the Foundations of Mathematics)作者: B. Jacobs出版社/メーカー: Elsevier Science発売日: 2001/07/01メディア: ハードカバー購入: 2人 クリック: 86回この商品を含むブ…

Arrowのインスタンス

関数の型構成子とKleisliトリプル以外にArrowのインスタンスで一般的なものって?

命令語訳抜きで関数型語を教えられるか

和訳抜きで英語は教えられるかを読んでふと思った。

ファイナンスのための確率解析

ファイナンスのための確率解析〈1〉二項モデルによる資産価格評価作者: S.E.シュリーヴ,Steven E. Shreve,長山いづみ出版社/メーカー: シュプリンガーフェアラーク東京発売日: 2006/07メディア: 単行本 クリック: 7回この商品を含むブログ (6件) を見るファ…

Scansnap & 裁断機

読んでみようかな.

Lectures on the Curry-Howard Isomorphism, Volume 149 (Studies in Logic and the Foundations of Mathematics)作者: Morten Heine Sørensen M.Sc Ph.D,Pawel Urzyczyn prof. dr hab.出版社/メーカー: Elsevier Science発売日: 2006/09/28メディア: ハード…

プログラミングClojure

Clojure の j は java の jプログラミングClojure作者: Stuart Halloway,川合史朗出版社/メーカー: オーム社発売日: 2010/01/26メディア: 単行本(ソフトカバー)購入: 10人 クリック: 338回この商品を含むブログ (72件) を見る

忘却の整理学

ふと買いました。忘却の整理学作者: 外山滋比古出版社/メーカー: 筑摩書房発売日: 2009/12/12メディア: 単行本購入: 3人 クリック: 15回この商品を含むブログ (30件) を見る整理学という言葉を定着させたのは同じ著者の『思考の整理学』かも?思考の整理学 (…

プレゼンテーションZen

テクニックを学ぶという意識で「読む」というより,写真集のように「見て」楽しむのがよい.プレゼンテーションzen作者: Garr Reynolds,ガー・レイノルズ,熊谷小百合出版社/メーカー: ピアソン桐原発売日: 2009/09/04メディア: 単行本(ソフトカバー)購入: …

古代文字練習帳

甲骨文字や金文文字の書き方を練習するという,なんとも,まぁ変な本.こんなの何の役にも立たないのに.売れてるのかなぁ.といいつつフラフラと買ってしまった.妙に魅力的.古代文字練習帳作者: 文字文化研究所出版社/メーカー: 筑摩書房発売日: 2008/07…

双方向畳み込み

双方向の畳み込みというのを考えてみた. a ┏━━┓ a' ┏━━┓ ┏━━┓ a'' → ┃ ┃ → ┃ ┃ → … → ┃ ┃ → ← ┃ ┃ ← ┃ ┃ ← … ← ┃ ┃ ← c''┗━━┛ c' ┗━━┛ ┗━━┛ cコードは fold :: ((a,c) -> b -> (a,c)) -> (a,c) -> [b] -> (a,c) fold f (a,c) (x:xs) = (a'',c'') where (a''…

2010

http://parametron.blogspot.com/2010/01/2010.html リスト内包表記の練習みたいなコード module Main where import Data.Char import Data.Function import Data.List import System.Environment data Term = Val Char | App Char Term Term ops4 :: [Char]…

ソート

inspired by http://d.hatena.ne.jp/yamamucho/20100110/1263082701 import Data.List --挿入ソート ins :: Ord a => [a] -> [a] ins = foldl f [] where f s x = case span (x>) s of (t,u) -> t++x:u --選択ソート sel :: Ord a => [a] -> [a] sel = rever…

蓄積しつつ,畳み込む.

foldL :: (a -> b -> c -> c) -> c -> (a -> b -> a) -> a -> [b] -> c foldL f c g a (x:xs) = f a x (foldList f c g (g a x) xs) foldL _ c _ _ _ = c 先日のtakeWhileAcc は foldL のインスタンス. takeWhileAcc :: (a -> b -> Bool) -> (a -> b -> a) …

takeWhileAcc

リストの要素を先頭から見て,特定の条件を満すあいだだけ,要素をとりだしたいとき,takeWhileを使う.条件をすこし一般化して,先頭からの畳み込み値にも依存するようにしたいことが結構あるような気がする.というわけで、takeWhileAccを定義してみた. t…

数学辞典

岩波数学辞典作者: 日本数学会出版社/メーカー: 岩波書店発売日: 2007/03/15メディア: 単行本 クリック: 14回この商品を含むブログ (12件) を見る CD-ROMにPDFがあるので、PCで手軽にもちあるける。問題は読む能力があるかどうか。:)

副作用(side-effect)をめぐって

Haskellプログラミングを始めようとしているプログラマに「Haskellには副作用があるのか」という質問をされると,「ある」と答えるHaskellerと「ない」と答えるHaskellerがいるらしい(私は「ない」と答える派).これでは,「いったいどっちが本当?」とい…

HIMA3 開催のご案内

第3回 HIMA(Haskell Internet Meeting Anytime)を12月13日(日) 19:00〜22:00 に開催いたします.HIMAはHaskellプログラミングに興味をもつ人が,とりとめなく,おしゃべりをするという会です.一応のお題はありますが,Haskellの知識経験の有無深浅にかかわ…

const をめぐるあれこれ

Prelude には,const :: a -> b -> a という関数が定義されています.a -> b -> a という型は a -> (b -> a) のことなので,この関数を引数に適用すると,b -> a という型の関数になります.できあがった関数はどのような値 v :: b に適用しても,この関数を…

Haskellで「ものまねどり Mocking Bird」

自己言及がはいるとHaskellでは型付けができないので,無理かなとおもったら,unsafeCoerceという邪悪なものを使う方法があるそうです.これで,いろいろ遊べそう. module Birds where import Control.Applicative import Unsafe.Coerce -- Haskellで定義済…

アナグラム

Haskellらしさってなんだろうということを考えつつ,[id:yard:20091104]にある課題を解くプログラムを考える過程を記録してみた.整理していないのでとりとめがないです. 単語辞書から相互にアナグラムになっている単語を集める. アナグラムとは,(意味の…

ちょっとしたプログラミング

[id:yarb:20091109]にちょっとしたお題があったので,頭のなかを晒してみよう. 2乗した結果に1から9までの数字が1度ずつ現れる整数をすべて挙げよ まぁ素朴に1から100,000までの数字をチェックしよう. sortを使うからData.ListをインポートすればOKかな. …

Programming in Haskell

こちらの翻訳本もいよいよでますね.プログラミングHaskell作者: Graham Hutton,山本和彦出版社/メーカー: オーム社発売日: 2009/11/11メディア: 単行本(ソフトカバー)購入: 14人 クリック: 503回この商品を含むブログ (115件) を見る