Bunny 0.9.0 リリースノート

Date: 2020-12-15

Version 0.9.0 は Bunny の最初の pre-release です。

Bunny は Haskell 2010 仕様を満たすことを目標にしていますが、 現状では多くの未実装機能や不具合が残っています。 Version 1.0.0 までには、これらを全て修正する予定です。

Haskell 2010 仕様を満たしていない点

現在の版がまだ Haskell 2010 仕様を満たしていない点のうち、 主なものを以下に挙げます。 残念ながら、現状では網羅的な検査ができていないこともあり、 Haskell 2010 に満たない点のリストアップ自体が正しくできていません。

なお、暗黙のうちに import される Standard Prelude についても、 Haskell 2010 仕様に満たない部分があります。それについては、次節で述べます。

Standard Prelude

現在暗黙のうちに import される Prelude は、以下にあげる点で Haskell 2010 仕様を満たしていません。

参照:lib/Prelude.hs

未定義のクラス

未定義のインスタンス

未定義の関数など

本来 Export されるべきではない関数

以下の関数は、本来は Prelude.hs の内部のみで用いられるものですが、 現状は export 制御が未実装であるために定義済となってしまっている。

showLitChar signum'', signum' nonnull, digitToInt, readInt, readDec, readSigned numericEnumFrom, numericEnumFromThen, numericEnumFromTo, numericEnumFromThenTo isSpace, isDigit, isOctDigit, isHexDigit, isUpper, isAlpha, isAlphaNum, lexLitChar, lexDigits Ratio, (:%), (%), ratPrec, reduce, numerator, denominator

組み込み関数が名前空間を汚している

現在の実装では、組み込みのプリミティブ関数のモジュール名が Prim となっていて、 本来であればユーザが自由に使用できる名前空間を汚してしまっています。

いまは、まだ import 機能自体が未実装であるため実害がないのですが、 これは version 1 までに改善します。