Skip to content

v0.7.24

Latest

Choose a tag to compare

@hymkor hymkor released this 25 Aug 01:15
· 4 commits to master since this release

ISLisp Conformance Test Results

Verified using the ISLisp Verification System.
TP Result : PASS = 16174, FAIL = 237 (Pass rate: 98.55%)

Changes in v0.7.24 (English)

  • Added ExhaustThreshold int64 to configure the threshold for raising <storage-exhausted> (default: 123456789).
  • Modified (elt) so that if the index is greater than or equal to ExhaustThreshold, it raises <program-error>.
  • Moved hash-table related functions (clrhash), (gethash), (hash-table-count), (make-hash-table), (remhash), (set-gethash) into a subpackage hash. To use them, import "github.com/hymkor/gmnlisp/hash". The gmnlisp executable imports this by default.
  • Reduced the amount of go doc output by making internal utility types and functions unexported:
    • Renamed type StringBuilder to stringWriter (unexported).
    • Renamed type StringReader to stringReader (unexported).
    • Renamed type ListBuilder to listBuilder (unexported).
    • Renamed type Invalid to invalidType (unexported).
    • Renamed type VectorBuilder to vectorBuilder (unexported).
    • Renamed type LispString to lazyForm (unexported).
    • Changed type SeqBuilder to an anonymous type (only used in a single function).
    • Renamed function ExpectElementClass to expectElementClass (unexported).
    • Renamed type Dynamics to dynamicVariables (unexported)
  • Improved efficiency of subsequent calls to embedded function definitions (lazyForm) that are included via embed.
  • Removed deprecated functions: HasValue and IsNull

Changes in v0.7.24 (Japanese)

  • <storage-exausted> を発生させる閾値を ExhaustThreshold int64 として参照/変更できるようにした (デフォルト: 123456789)
  • (elt) のインデックスが閾値 (ExhaustThreshold) 以上の時 <program-error> とするようにした
  • ハッシュテーブル関連の関数 (clrhash), (gethash), (hash-table-count), (make-hash-table), (remhash), (set-gethash) をサブパッケージ hash へ移動。利用する場合は import "github.com/hymkor/gmnlisp/hash" を行う。gmnlisp の実行ファイルではこれらを import する。
  • go doc の量が多すぎ、読みづらくなるため、内部的なツール関数などは非公開とした
    • StringBuilderstringWriter へ改名し、非公開とした
    • StringReaderstringReader へ改名し、非公開とした
    • ListBuilderlistBuilder へ改名し、非公開とした
    • InvalidinvalidType へ改名し、非公開とした
    • VectorBuildervectorBuilder へ改名し、非公開とした
    • LispStringlazyForm へ改名し、非公開とした
    • SeqBuilder を匿名型にした(1関数でしか使われていないため)
    • 関数 ExpectElementClassexpectElementClass へ改名し、非公開とした
    • DynamicsdynamicVariables へ改名し、非公開とした
  • embed で組み込んだS式による関数定義(lazyForm)の二回目以降の呼び出しの効率を改善した
  • 非推奨関数 HasValue, IsNull を削除した