Skip to content

v0.7.10

Choose a tag to compare

@hymkor hymkor released this 06 May 11:25
· 471 commits to master since this release

Changes in v0.7.10

  • Modified the functions div and mod to ensure that the division result is the greatest integer less than or equal to the quotient when negative values are passed as arguments.
  • Reserved symbols such as nil, t, *pi*, *most-positive-float*, and *most-negative-float* are now recognized and rejected when used improperly as identifiers in let, let*, lambda, defconstant, and defglobal forms. These cases now raise <program-error> as required.
  • Introduced a new Reserved type to represent such reserved symbols, which are now identified during parsing.
  • (defglobal) now raises an error if the symbol has already been defined as a constant.
  • Fix: (or) with no arguments now correctly returns nil instead of raising an error
  • (defclass) now raises an error when a special form name is used as the class name
  • Symbols: previously case-sensitive, but now equality is case-insensitive; symbols display in uppercase and preserve original case for string conversion
  • Fix (convert nil <type>) not behaving according to the specification

Changes in v0.7.10

  • マイナスの値を与えられても、割り算の結果が商以下の最大の整数になるよう、関数 divmod を修正した
  • nilt*pi**most-positive-float**most-negative-float* などの予約語を、let, let*, lambdadefconstantdefglobal フォームで識別子として使った場合に <program-error> を発生させるようにした。
  • 予約語を表現する新しい型 Reserved を導入し、構文解析の段階で認識するようにした。
  • シンボルが定数として定義済みの時、(defglobal) はエラーになるようにした。
  • 引数のない (or) で、エラーとせずに、正しく nil を返すよう修正した。
  • (defclass) で、特殊形式名がクラス名として使われた時にエラーを起こすようにした。
  • これまではシンボルは英大文字・小文字を区別していたが、比較において区別をしないようにした。表示は英大文字とするようにした。シンボルから文字列に戻す時は最初に作られた英大文字・小文字を復元するようにした
  • (convert nil 各種型) が仕様通りとなっていなかった点を修正した

TP Result : PASS = 11533, FAIL = 4878