Haskell
Haskell Try it の所がコンソールになっていて、help と打つとインタラクティブなチュートリアルが始まります。 ロゴも美しくなっており、教材用のビデオも提供されています。 Kotlin groovy scala Swift python TypeScript Dart ceylon F# HAXE Rust elixir…
blog1.mammb.com からの続きです。 ラムダ式 まぁ、無名関数です はい。 引数を二乗する関数 square は以下のように定義できます。 square :: Num a => a -> a square x = x * x この関数には square という名前が付いていますが、名前を付けずに関数を定義…
blog1.mammb.com からの続きです。 条件式 Haskell の if 文は、多くの関数型言語と同じく式です。つまり、なんらかの値を返します。そして else 部がかならず必要です。 整数の絶対値を返却する関数は、条件式を使って以下のように定義できます。 abs :: In…
blog1.mammb.comの続きです。 パターンマッチ 関数型言語では一般的なパターンマッチが、当然ながら Haskell にもあります。 パターンマッチは、パターン式を並べて記述します。パターンは上から最初にマッチしたものが利用されます。 リテラルパターン Bool…
blog1.mammb.com の続きです。 関数の定義 2 つの数字を加算する add 関数を定義してみます。 add x y = x + y 実行すると、以下のように 2 つの数字を加算した結果が得られていることが分かります。 Main> add 2 3 5 この関数の型について調べてみましょう…
Haskell とは 純粋関数型のプログラミング言語 変数を扱わないため状態という概念がない 非正格の遅延関数言語 強力な型システム 名前は数学者であり論理学者であるハスケル・カリーに由来 実行環境 http://haskell.org/hugs/ から Hugs を導入するのが楽ち…