hslua v1.3.0 Release Notes
Release Date: 2020-10-16 // about 4 years ago-
๐ Released 2020-10-16.
๐ Upgrade included Lua version to new bug-fix release 5.3.6. See
๐ the upstream documentation https://www.lua.org/bugs.html#5.3.5
๐ for the bugs which have been fixed.Stop exporting
c_loaded_table
andc_prelad_table
from module
Foreign.Lua.Raw.Auxiliary. Both values are defined only if the
flagHARDCODE_REG_KEYS
is disabled, leading to compilation
errors when the flag is enabled.โ Add new function
peekStringy
to Peek module. It allows to peek
a value of anyIsString
type from an UTF-8 encoded string.Various improvements to the continuous integration setup,
including cleanup of the config files, version bumps to the
๐ ghc/cabal versions used for testing, and running the linter in a
dedicated GitHub Action.
Previous changes from v1.2.0
-
๐ Released 2020-08-15
๐ New module
Foreign.Lua.Call
: the module offers an alternative
method of exposing Haskell functions to Lua. The focus is on
maintainability: types and marshaling methods are made explicit;
๐ the possibility of adding documentation and parameter names
๐ improves error messages and allows for automatic documentation
extraction.Work on this module is ongoing; the interface is likely to
๐ change. Suggestions and feedback are welcome.๐ New types
Module
,Field
, and new functionsregisterModule
,
preloadModule
,pushModule
, andrender
exported from
๐Foreign.Lua.Module
: this builds on the newCall
module and
๐ allows the creation of documented modules as well as automatic
๐ generation of Markdown-formatted module documentation.Export new items
nth
andtop
from Foreign.Lua.Core and
Foreign.Lua. They are short-hands fornthFromTop
and
stackTop
.๐ Performance improvements: Calling of Lua functions and creation
of Haskell data wrapping userdata has been sped up by about 10%.
This is mostly due to using of previously missed optimization
opportunities.๐ All foreign imports have been moved to into the new
Foreign.Lua.Raw
module. This module will replace the current
Foreign.Lua.Core
module in the future and will be distributed
๐ as a separate package (likely starting with the 2.0 release);
the remaining parts of the currentCore
module will be
promoted one level in the module hierarchy.The
Raw
module can be used whenever the full power of HsLua is
not needed.๐ฆ Error-signaling of API wrapper functions has been changed:
instead of returning special integer values, functions now take
an additional pointer argument, which is set to the status
result of the computation.The
Failable
type in Core.Error is no longer needed and has
๐ been removed.๐ CI builds now include GHC 8.8 and GHC 8.10, ensuring that all
๐ GHC 8.* versions are supported.