IIJ 社内でやったチュートリアル 純粋関数型言語Haskellの紹介 〜制約プログラミングのススメ〜 の資料を公開しました。
IIJ 社内でやったチュートリアル 純粋関数型言語Haskellの紹介 〜制約プログラミングのススメ〜 の資料を公開しました。
昨日、友達にこんなことを話しました。 Haskell でプログラミングするときは、とりあえず効率のことは忘れる。 メモリーは無限にあると考え、コンパイラーと遅延評価が頑張ってくれると信じる。 Haskell では what を記述する。 効率を考えている時点で、how である。 what と how は、同一視されがちであり、区別するには訓練が必要。 変数は初期化できるが、再代入できない。 だから、インデックスが必要な for はない。 繰り返しが本質なら、再帰で書く。 単にリストを走査したいなら map を使う。 リスト処理が得意なので、なんでもリストに落とし込む。 もう一度言うけれど、メモリーは無限にあると考えるから、リストが大きくても気にしない。 行を数えてみる ファイルの行数を数えるプログラムを考えるとします。命令型の頭で考えると、一行ずつ読み込みながらファイルの終わりまでループを
Haskellというプログラミング言語を知っていますか? 全く聞いたことがないという人が多いかもしれません。そういう名前の言語があるのは知っているけど,どんな言語かは知らないという人もいるかもしれませんね。でも最近では,一部の先進的なソフトウエア開発者の間で,一種のブームと言えるほど熱狂的に受け入れられています。 なぜならば,Haskellは様々な優れた特徴を持っているからです。最初に,他の言語にはあまり見られない際だった特長を一つだけ紹介してみましょう。「遅延評価(lazy evaluation,怠惰評価ともいう)」です。 遅延評価とは,与えられた値を必要になるまで評価(計算)しないということです。この性質により,不必要な計算が行われる無駄をなくすことができます。また,「潜在的に無限の大きさを持つデータ構造」といった通常のプログラミング言語では扱いの難しいものを直接扱えるため,より直接的
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く