このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

Simplelの論理式

Simplelの基本データ型は、整数(integer)と文字列(string)である。浮動小数点型(IEEE 754型)を入れるかどうかは考慮中、基本的には「必要性が判明するまで入れない」。整数はJavaScript仕様と合わせるため、

  • 絶対値が2の53乗までのデータは正確に扱えなくてはならない。絶対値が2^53を超えるときは、仕様では何も定めない。

さて、整数、文字列以外の基本データとして論理値を入れる。そのリテラルトークン)はtrueとfalse。新しい演算記号(これもトークン)は、

  • 比較: '==', '!=", '<', '<=', '>', '>=' ('==='は入れない)
  • 論理: '&&', '||', '!'

JavaScriptとは異なり、柔軟な型変換は当面は行わない

  • 整数の比較は自明。
  • 文字列の s == t は、同じ長さですべてのiに関してs[i]とt[i]が同じ文字。
  • != は == の否定。s != t ⇔ !(s == t)
  • 文字列に対する不等号はエラー(許容しない)。
  • 論理値以外に対する論理演算はエラー。(将来、仕様変更の可能性はあるが。)

Unicode文字に関する等値性は問題があるが、とりあえずUTF-8、バイトレベルでの比較でよいとする。