Allow aeson data types to be used with lua.


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

See all snapshots hslua-aeson appears in

MIT licensed by Albert Krewinkel
Maintained by [email protected]
This version can be pinned in stack with:hslua-aeson-1.0.3@sha256:60ca75d575f9f10371684b0cc22873cc62466c3b5eabb8ee6c08e87e643e2fdd,2431

Module documentation for 1.0.3


travis build status MIT License

Glue to hslua for aeson values.

This provides a StackValue instance for aeson’s Value type. The following conventions are used:

  • Null values are encoded as a special value (stored in the registry field HSLUA_AESON_NULL). Using nil would cause problems with null-containing arrays.

  • Objects are converted to tables in a straight-forward way.

  • Arrays are converted to Lua tables. Array-length is included as the value at index 0. This makes it possible to distinguish between empty arrays and empty objects.

  • JSON numbers are converted to Lua numbers (usually doubles), which can cause a loss of precision.


This project is licensed under the liberal MIT license, the same license under which hslua and lua itself are published. See the LICENSE file for details.




Released 2020-08-15.

  • Relaxed version constraint for hslua, allowing hslua-1.2.*.


Released 2020-05-28

  • Relaxed version constraint for aeson, allowing aeson-1.5.*.

  • Update CI tests to check with GHC versions 8.0 through 8.10. Compilation with GHC 7.10 is no longer tested.

  • Bump to stackage LTS-14.


Released 2020-04-03

  • Relax version constraint for packages hashable and hslua, allow hashable-1.3 and hslua-1.1.*.


  • Update to hslua 1.0.0

  • Function registerNull has been replaced by pushNull.

    Using pushNull has the advantage that users won’t have to remember to register a special variable. Users who need a global variable can set it by running

      setglobal "HSLUA_AESON_NULL"


  • Update to hslua 0.8.0.


  • Update to hslua 0.6.0.


  • Ensure compatibility with hslua 0.5.0.