Skip to content

Releases: AlephAlpha/Nekomata

v0.7.0.0

10 Aug 05:12
Compare
Choose a tag to compare
  • Added examples to the documentation of built-in functions and particles.
  • Fixed some errors in the documentation.
  • Fixed a bug in \binomial. Now it returns 0 when the second argument is negative.
  • Fixed a bug in \factor. In earlier versions, it may return incorrect results.
  • New particles: \concatMap, \fixedPoint, \onAny, \unconcatMap.

Breaking changes

  • Some modules in the library are no longer exposed.
  • The built-in function \normalForm is removed, because it is never used, and its semantics are not well-defined.
  • The result of \divisors is now sorted.
  • \intersect and \union are now multiset intersection and union.
  • \bifurcate now works on numbers. If the input is a number, it is converted to the range from 0 to the number - 1.

v0.6.1.0

07 Jun 05:33
Compare
Choose a tag to compare
  • Now the REPL saves the history to a file named .history in the current directory.
  • New built-in functions: \isLong, \sumEach.

Breaking changes

  • \charToInt now leaves the argument unchanged if it is already an integer. It still fails if the argument is a non-integral number.
  • \intToChar now leaves the argument unchanged if it is already a character.

v0.6.0.0

25 Feb 05:00
Compare
Choose a tag to compare
  • Updated some dependencies. Now Nekomata can be built with GHC 9.8.1.
  • Fixed a bug in printing truncated results.
  • Now characters are internally represented as Word8s instead of Chars.
  • Added a REPL command \Arity to print the arity of a function.
  • New built-in functions: elem, \filterBy, \minValue, \minMax, \maxValue, \ordering, \pad, \slices.

Breaking changes

  • \apply2 is renamed to \onBoth.
  • \interval can now take two chars as arguments.
  • \intersect, \union and \setMinus now convert numbers and characters to singleton lists.
  • Fixed a bug in comparing characters. Now characters are compared by their code points in Nekomata's custom code page instead of Unicode.

Version 0.5.1.0

27 Sep 09:17
Compare
Choose a tag to compare
  • New built-in functions: \bifurcate, \divMod, \flatten, \histogram, \isBig, \isSmall, \over, \popCount, \rle, \unrle.
  • New particle: \zipWithTrunc.

Breaking changes

  • \nonzero is renamed to \isNonzero.
  • \nonempty is renamed to \isNonempty.

Version 0.5.0.0

02 Sep 10:48
Compare
Choose a tag to compare
  • The interpreter can now limit the number of results to show using the -l option.
  • New built-in functions: \bitAnd, \bitOr, \bitXor, \fromBinary, \gt, \lt.

Breaking changes

  • The dependency on base becomes base >=4.15 && <5. Now GHC 9.0.1 or newer is required to build Nekomata.
  • The string type is removed, and a new character type is added. Now strings are represented as lists of characters. Many built-in functions are changed accordingly.
  • \join and concat no longer convert their arguments to strings. Now they convert numbers and characters to singleton lists.
  • Many numeric functions now convert chars to their code points before operating on them.
  • \range0 now generates a range from 0 to ceil(n)-1 instead of floor(n)-1.
  • \join, \concat, \cons and \snoc are now lazier. Joining a non-failing list with a failing list no longer fails immediately. Instead, it only fails when the failing part is actually used. \concat can now concatenate an infinite list of lists.
  • \uninterleave is now lazier. It can now uninterleave an infinite list.

Version 0.4.1.0

22 Jul 13:04
Compare
Choose a tag to compare
  • New built-in functions: \fromDigits, \interval, \read, \show, \tuple.
  • New particle: \fold1.

Version 0.4.0.0

10 Jul 07:01
Compare
Choose a tag to compare
  • The language is still incomplete. The code page isn't filled yet. Everything is subject to change.
  • New built-in function: \absDiff, \count, \digits, \div2, \divisors, \interleave, \isNonnegative, \isUnique, \mod2, \mul2, \powOf2.
  • New particle: \firstInt.

Breaking changes

  • Some list functions are now overloaded to work on numbers. When they are used on numbers, they are applied to the range from 0 to the number - 1. These functions are: \anyOf, \uninterleave, \extract, \permutation, \prefix, \reverse, \rotate, \setPartition, \split, \subsequence, \subset, \suffix, \unconcat.
  • \convolve now supports arbitrary-dimensional nested lists. Numbers are treated as 0-dimensional nested lists.
  • \mapFirst is renamed to \mapWith.
  • \deinterleave is renamed to \uninterleave.

Version 0.3.5.0

12 Jun 07:57
Compare
Choose a tag to compare
  • New built-in functions: \deinterleave, \longest, \maximumBy, \minimumBy, \orNeg, \shortest, \unitVec2D.
  • New particle: \lengthWhile.

Breaking changes

  • \toBase2Rev is renamed to \binary.

Version 0.3.4.0

07 Jun 07:20
Compare
Choose a tag to compare
  • New built-in functions: \andThen, \chunks, \convolve, \extract, \half, \isZero, \toBase2Rev.
  • New particle: \filter.

Breaking changes

  • The code page is updated. The character is replaced with ½, and the character is replaced with ¿.

Version 0.3.3.0

27 May 07:27
Compare
Choose a tag to compare
  • New built-in functions: \factor, \index, \intersect, \rot3, \tally, \union.
  • New particle: \dupDip2.