mainアクションと関数適用

main = putStrLn " abc " "~"の中身が文字の場合 文字列リテラルという
リテラルとはプログラムのソースコード中に使用される定数のこと。
定数については少し後で・・・
 "~"の中身が数字の場合は数値リテラルという( Haskellで使うかはまだ不明 )

main = 変数なので main =putStrLn " abc "というプログラムの場合
putStrLn " abc " という定数(決められた値の事、また、putStrLn " abc "自体が値) をmainという変数に値を渡す事でmainはputStrLn " abc "の評価を始めます。
mainに値を渡して評価する事を " mainアクション " と言います。
アクションについては遅延評価で説明するようです。

putStrLn は文字列を1つ受け取ってその文字列と改行を出力するアクションを返す関数です。
関数(かんすう、function)とは、ある変数に依存して決まる値あるいはその対応を表す式のことである。
Haskellで putStrLn " abc " では " abc " にputStrLn関数を適用する(apply) という。

今回はHaskellではちょっと言い方が特殊な事と、main自体が変数でアクションを起こすと言う事と、関数の定義をきちんと理解した。
変数と関数の関係が理解出来て初めてプログラムがどういう仕組みで出来ているのか理解出来るのだと思った。
Haskell関数型言語という部分も理解出来てきた。
自分ではきちんと理解出来ているはずだけど、ブログに書き込みをする際にはすごく時間がかかる・・・
自分が再度ブログを見直した時や他の人から見ても分かるように書く事はとても大変な作業だと知った。