関数型言語を触ってみる(その2)

  • 3章:プログラムを構成する要素
    • データ一つひとつをタームと呼ぶ(term、項だな)
    • タームの種類としてアトム:名前つき定数(?)、参照(??)、タプル(!)
    • 関数をファーストクラスオブジェクトとして扱える(なんか凄い)
    • 整数の精度は利用可能なメモリ量のみに制限される(自分で指定できないの?斬新)
    • 基数#数値で、整数を基数表記する
    • 整数除算と浮動小数点除算がある(divと/ ね)
    • アトムは先頭が小文字アルファベットではじまり、変数は先頭が大文字アルファベット(なんのこっちゃ)
    • シングルクオートで括ってあるものはすべてアトム
    • アトムとは、数値でない値を表現するために用いる名前
    • 比較演算子を使うと、整数と浮動小数点数が比較された場合、整数が自動的に浮動小数点数に変換される
    • orelse、andalso(これ、何?)
    • Yamada={yamada, 175, 65, male}. 変数Yamadaをタプルに束縛する、と言う(えっ!)
    • タプルの要素にアクセスするにはパターンマッチングする(要素が多くなったら不便だろ、それじゃ)
    • 文字列はダブルクオートで表す”Mojiretu"
    • 文字列の実体は整数のリスト[77,111,106,105,114,101,116,115,117]は"Mojiretsu"と同じ(!!)
    • 異なる種類のタームを比較演算子で比較することも可能

これまで使ってきた言語と違いすぎる。かなり楽しい。
次は3章の"変数”から。