@hackage jsonnet0.1.0.0

Jsonnet implementaton in pure Haskell

haskell-jsonnet

Actions Status [![Join the chat at https://gitter.im/jsonnet-hs/community](https://badges.gitter.im/jsonnet-hs/community.svg)](https://gitter.im/jsonnet-hs/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

A full-fledged Haskell implementation of the Jsonnet spec. For an introduction to the language itself, see the tutorial or language reference. We are using the same test suite used in the offical C++ and Go implementation (which is fairly comprehensive).

Build

Using the stack build tool:

git clone github.com/moleike/jsonnet-hs.git
cd jsonnet-hs
stack build

Progress

Here is the implementation status of the main language features:

  • array and object comprehension
  • array slices
  • Python-style string formatting
  • text blocks
  • verbatim strings
  • object-level locals
  • object-level asserts
  • keyword parameters
  • default arguments
  • top-level arguments
  • external variables
  • hidden fields (@CristhianMotoche)
  • tailstrict annotation

OO features are implemented but need some more work:

  • self keyword
  • super keyword
  • outermost object reference $
  • object composition (merging objects)
  • field composition (+: field syntax)

Contributing

See CONTRIBUTING.md.

Acknowledgments

I took inspiration from Expresso, hnix, fixplate, and numerous other libraries. Thanks to their authors.

License

See LICENSE.

Copyright © 2020–present Alexandre Moreno