Haskell

たくさんの関数

id:ha-tan:20061220:1166542507 すごいよ,Haskellすごいよ.こんな柔軟で読みやすいなんて!てか,何気にパターンマッチが素敵だなぁと改めて思う. きっとlispも悟れば,鼻歌を歌いながらエレガントなコードが書けるようになるに違いない…にもかかわらず,…

cat.hs

12章でFileのIOを学んだので,コマンドライン引数からファイル名をわたし,オープン,言うなればリダイレクションではなく,ファイルからでやってみようってだけ.

ふつける:11章読んだ

リストモナドから,一気に最後まで.練習問題は別に書きます.

ふつける:11章練習問題

ふつける11章の練習問題を解きます.

ふつける:11章読んでる

読み終わってはいません.11章は,ふつけるの言葉を借りるのならば"Haskell最大の難関".C言語でのポインタ,Perlでのオブジェクト指向,Pythonでのインデント,Rubyでのドキュメント作成*1みたいなもんですか. Monadを理解する事で,Haskellerになれる事を…

ふつける:10章読んだ

読みました.比較的短めで,速攻終わった.内容は,モジュールのインポートとエクスポート.練習問題は無し.テクニック的に重要そうなのをかいつまんでまとめます.

ふつける:9章読んだ

9章は,「型と型クラス」.今まで何も知らずに,(Ord a) => とかしてた謎が解けた.凄いよ,型クラス便利くせぇ.それでは,練習問題を解きます.

ファイル名テンプレート

また,ゲームを作ってます.といってもグラフィック班なんだけど. pygameだと,アニメーションを作る時,幾つかのbmpのファイルをスライドショーにする,見たいな形じゃないとアニメーションにできないみたいで. 具体的に言うと,hoge1.bmp,hoge2.bmp,hoge…

ふつける:7章読んだ

読みました.7章は「基本的な構文」.コメントとか,レイアウトとか.友達は「早くね?」とか言いますけど,もともと少しHaskellを触ってから読み始めてるので,新しく覚える事が少ないから,理解にかかる時間が短くて済み,結果ハイペースに見えるだけ.完…

ふつける:8章読んだ

8章は「関数」.関数結合とか部分適用とか.7,8章と一気に書くと長くなるんで,分けました.それでは練習問題を解きます.

ふつける:5,6章読んだ

ふつける6章まで読了.5章の,遅延評価の考え方は凄い.関数型言語ならではだなぁと思った(そうでもない?).中でも,最外簡約,グラフ簡約が.こいつぁすげぇや. 6章では色んな型ってのを(今更ながら)学んだのだけども,その途中,ふとzipWithをmapとzipを…

b2oxさんの知恵袋

度々,超・有り難い助言(コメント)を下さる,Haskellerのb2oxさん.今回,関数結合(.)で悩んでた際により高いハードルを設けてくれたり,普通に役に立つヒントを与えてくれたりで,本当に嬉しかったので,コメント欄を引用し,自分用のメモついでにまとめま…

(.)新しい問題

それでは,前日出してもらった新しい問題 k x y = f (g x) (h y)を,x,yを用いずに表してみます.

ふつける練習問題を解く:3,4章

レポートのお陰で,活発にHaskellの勉強ができなかった鬱憤を晴らすかのような,一日で三度目のHaskell更新.とは言うものの,記事そのものは一気に書いてますけど.

ふつける購入

ついにふつうのHaskellプログラミング略してふつけるを購入.大学の生協の本屋に売っているのを偶然友達が見つけ,それを半ば強奪する形(笑)でレジに進みました. ふ,ふつうに面白い本じゃないですか,これは. とりあえず二章まで読み終わりました.折角な…

haskell-mode.elを使う

今までHaskellのコーディングはemacsでやってたんですが,Carbon Emacsは標準でhaskell-modeが入ってなかったので,入れてみました. 入れる過程で,色々ググって見たんですが,日本語のドキュメントが無かったのでメモがてら書いておきます.ほとんどMac限…

関数適用の左結合性

関数適用の左結合性とは? A Gentle Introduction to Haskell: Functionsを読む. add (x,y) = x + y関数 add の適用は add e1 e2 という形式になります。これは、 (add e1) e2 と同等の式 です。なぜかというと関数適用は左結合性をもつからです。いいかえ …

ドットで関数を結合

人のHaskellのコードを読んでいて,色んな所で見かける".".何に使うのか(大体想像はついたけど)わからなかったので調べてみると,関数を結合する演算子という事がわかり,一つスッキリ.練習してみる.

Prelude"のつづき"*4

昨日はmapまでやりました.やっとmなんだなぁ.maximumは前にやったので,maybeから.

ドット練習問題

ドットで関数を結合 - もちより,b2oxさんに問題を頂きました. # b2ox 『(.)が使いこなせるようになるとPreludeのpredの定義のように引数を省略した書き方が出来るようになります。 f::b->c, g::a->b, (f . g)::a->c (.) f g x = ((.) f g) x = (f . g) x =…

Preludeのつづきのつづきのつづき

昨日はfoldrまでやったので,今日はgcdから.

Preludeつづきのつづき

今日は,filterから.

今日の自作関数

今日の自作関数は,foldr.

Preludeつづき

今日は,cycleから.

今日の自作関数

今日の自作関数は,enumFromThenで.

やっとPrelude

それでは,今日からPreludeの関数を少しずつ見ていきます.

今日の自作関数

今日は,curry関数,uncurry関数の自作に挑戦.

infixr

きほんてきなべんきょう,二日目.

今日の自作関数

今日は,maximum関数を自作.

はじめから少しずつ

コレからのHaskell勉強法を見直す.とりあえずHaskellに書いてある事を殆ど理解できたら,遊ぼうと思う.先ずはSyntaxから攻めて行くぞ.