This CHANGELOG describes the merged but unreleased changes. Please see
CHANGELOG for changes to all previously released versions of
Idris2, as well as the sub-headings typically used for changes. All new PRs
should target this file (CHANGELOG_NEXT).
-
Various changes to user documentation both the frontend and backend, as generated by ReadTheDocs and located in
doc.-
Migrated sphinx python project to
uvfor better project management. -
Adopted sphinx extension
myst-parserto enable documentation to be provided using Markdown, specifically theMySTdialect. -
Adopted, but not activated, inclusion of
sphinx-contrib.bibtexto provide better support for citing in documentation. -
Adopted a new sphinx theme called
sphinx_book_theme, which provides a HTML theme with a more 'modern' look & feel. For example, more indepth navigation, revised responsive mode (when compared to ReadTheDocs), and light & dark modes.
-
- Fixed missing handling of dotted patterns See #3669, comment.
- Removed modules and functions moved to
base:Libraries.Data.Fin→Data.FinLibraries.Data.IOArray→Data.IOArrayLibraries.Data.List.Extra.minimum→Data.List.minimumLibraries.Data.List.Lazy→Data.List.LazyLibraries.Data.List.Quantifiers.Extra.(++)→Data.List.Quantifiers.(++)Libraries.Data.List.Quantifiers.Extra.head→Data.List.Quantifiers.headLibraries.Data.List.Quantifiers.Extra.tail→Data.List.Quantifiers.tailLibraries.Data.List1→Data.List1Libraries.Data.SnocList.revOnto→Data.SnocList.revOntoLibraries.Data.SortedMap→Data.SortedMapLibraries.Data.SortedSet→Data.SortedSetLibraries.Utils.Binary.bufferData'→Data.Buffer.bufferData'
- Removed unused functions:
Libraries.Data.List.Extra:breakAfter,splitAfterandzipMaybeLibraries.Data.List.Quantifiers.Extra.tabulate.Libraries.Utils.Binary.nonEmptyRevLibraries.Utils.String.dotSep
- Fixes an issue when unifying lambda terms with implicits (#3670)
- The "With clause does not match parent" error now points to the correct location
- The compiler now warns the user when
impossibleclauses are ignored. This typically happens when a numeric literal or an ambiguous name appears in animpossibleclause. - Do not inline
Core.sequence, because it is recursively defined. - Fixed coverage checker issues (#1800, #1998, #2318, #2822, #3679).
- Fixed totality checking in namespace and mutual blocks (#2868, #3692).
- Fixed incorrect argument multiplicity when using an as-pattern (#3687).
- Type inspection now resugars primitive functions to more likely names/operators (#3712)
- Better messages for errors inside string interpolation.
- Added execution time logging for elaboration scripts.
- Optimised the passing of local variables during compile-time normalisation.
- Added
getFCto elaborator reflection, exposing the macro call-site source location.
- Fix parsing of capitalised package names containing hyphens.
- Change
flake.nixto point atidris-community/idris2-modeas the URL forinputs.idris-emacs-src(from the user forkredfish64/idris2-mode).
- Fixed an issue to do with
alligned_allocnot existing on older MacOS versions, causing builds targeting PowerPC to fail (#3662). For these systems, the compiler will now useposix_memalign. - Fixed integer comparison operators returning incorrect results on WASM32.
The
idris2_extractIntfunction incorrectly usedidris2_vp_to_Int32for unboxed values, which dereferences unboxed pointers asIdris2_Int32*(previouslyValue_Int32*) on 32-bit platforms whenUINTPTR_WIDTHis not defined (common in Emscripten). - Fix missing support for sized, signed integers in FFI.
- Fix headers for numeric negation.
- Prefix RefC Idris values with
Idris2_to prevent name collisions with third partly libraries.
- Added
rtrimtoData.String. - Added
decToMaybe,maybeCongandmaybeCong2toData.Maybe. - Added
maybeEqtoDecidable.Equality. - Removed
writeIORef1, which unsafely allowed a linear value to become unrestricted.