hslua

A Lua language interpreter embedding in Haskell

Version on this page:0.5.0
LTS Haskell 22.18:2.3.1
Stackage Nightly 2024-04-25:2.3.1
Latest on Hackage:2.3.1

See all snapshots hslua appears in

MIT licensed by Gracjan Polak, Ömer Sinan Ağacan
Maintained by [email protected]
This version can be pinned in stack with:hslua-0.5.0@sha256:6947ac99cba506238f0cc10259f361966617eb4c8a1b324eedc78f0a1e52e9a4,4688

Module documentation for 0.5.0

Depends on 2 packages(full list with versions):
Used by 1 package in nightly-2017-07-31(full list with versions):

hslua – Lua interpreter interface for Haskell

Build Status Coverage Status Hackage

To use system-wide installed Lua/LuaJIT when linking hslua as a dependency, build/install your package using --constraint="hslua +system-lua" or for LuaJIT: --constraint="hslua +system-lua +luajit". For example, you can install Pandoc with hslua that uses system-wide LuaJIT like this:

cabal install pandoc --constraint="hslua +system-lua +luajit"

(Note that -fluajit flag is added with hslua 0.3.14)

Changes

Changelog

0.5.0

  • New raw functions for luaopen_base, luaopen_package, luaopen_string, luaopen_table, luaopen_math, luaopen_io, luaopen_os, luaopen_debug and their high-level wrappers (with names openbase, opentable etc.) implemented.
  • Remove custom versions of loadfile and loadstring.
  • Drop support for GHC versions < 7.8, avoid compiler warnings.
  • Ensure no symbols are stripped when linking the bundled lua interpreter.
  • Simplify tostring function definition. (Sean Proctor)
  • Explicitly decprecate strlen. (Sean Proctor)
  • Add links to lua documentation for functions wrapping the official lua C API. (Sean Proctor).

0.4.1

  • Bugfix(#30): tolist wasn’t popping elements of the list from stack.

0.4.0

  • pushstring and tostring now uses ByteString instead of [Char].
  • StackValue [Char] instance is removed, StackValue ByteString is added.
  • StackValue a => StackValue [a] instance is added. It pushes a Lua array to the stack. pushlist, islist and tolist functions are added.
  • Type errors in Haskell functions now propagated differently. See the Scripting.Lua documentation for detailed explanation. This should fix segfaults reported several times.
  • lua_error function is removed, it’s never safe to call in Haskell.

Related issues and pull requests: #12, #26, #24, #23, #18.

0.3.14

  • Pkgconf-based setup removed. Cabal is now using extra-libraries to link with Lua.
  • luajit flag is added to link hslua with LuaJIT.

0.3.13

  • Small bugfix related with GHCi running under Windows.

0.3.12

  • pushrawhsfunction and registerrawhsfunction functions are added.
  • apicheck flag is added to Cabal package to enable Lua API checking. (useful for debugging)

0.3.11

  • luaL_ref and luaL_unref functions are added.