Changelog of @hackage/souffle-haskell 1.1.0

Changelog

All notable changes to this project (as seen by library users) will be documented in this file. The CHANGELOG is available on Github.

[1.1.0] - 2020-07-26

Added

  • getFacts can now return facts in a fixed size array (from the array package).
  • Added support for facts containing "unsigned" values.
  • Added support for facts containing "float" values.

Fixed

  • The run function in Language.Souffle.Interpeted now always closes stdout and stderr handles of the external souffle process.

Removed

  • Language.Souffle module is removed since it only existed due to legacy reasons. This removal forces users to be explicit about the mode they are using souffle-haskell in (interpreted or compiled mode). If you experience compilation errors, rename all imports of Language.Souffle to Language.Souffle.Compiled.

[1.0.0] - 2020-07-09

Changed

  • Libraries using souffle-haskell are now "self-contained": if a project depends on such a library, it will not require to also have Souffle installed.
  • souffle-haskell now supports Soufflé version 2.0.0.
  • writeFiles now takes an extra FilePath argument for writing facts to a certain directory.

Deleted

  • Language.Souffle.TH module is deleted because it is no longer needed anymore due to a change in the generated Souffle code. The generated code can now be correctly integrated by adding the files to cxx-sources in package.yaml / cabal file.

[0.2.3] - 2020-05-21

Changed

  • Optimize performance when marshalling and unmarshalling facts.

[0.2.2] - 2020-04-30

Changed

  • Fix compile time issue when generically deriving Marshal typeclass for data types with more than 3 fields.

[0.2.1] - 2020-04-25

Changed

  • Trimmed dependencies to make the library more lightweight.

[0.2.0] - 2020-04-22

Added

  • Added Language.Souffle.Interpreted module for running Souffle programs in interpreted mode. NOTE: For this mode the CSV fact files must use TAB ('\t') characters as separators.
  • In interpreted mode, you can configure where the library looks for datalog files or where the souffle executable is located. For more information, see the runSouffle and runSouffleWith functions in the Language.Souffle.Interpreted module.

Changed

  • Introduced Language.Souffle.Class module as separation of the typeclass and the Language.Souffle.Compiled module to offer a uniform API in both interpreted and compiled mode.

[0.1.0] - 2019-12-21

Added

  • Added Marshal instance for lazy and strict Text

Changed

  • getFacts can now return a vector instead of a list, based on type inference. This allows for a more efficient representation in memory as well as being able to allocate all needed memory once before collecting facts.

[0.0.1] - 2019-10-23

Added

  • Initial version of the library