dhall-haskell/dhall-bash
Gabriel Gonzalez 4c7b75b503
Version 1.27.0 → 1.28.0 (#1575)
2019-12-05 19:28:39 -08:00
..
exec Handle --version consistently (#1334) 2019-09-22 03:55:26 +00:00
src/Dhall Add `Integer/{clamp,negate}` built-ins (#1486) 2019-10-29 17:21:00 +00:00
LICENSE Migrate `dhall-{bash,json,text}` into this repository (#661) 2018-10-28 17:32:51 -07:00
README.md Version 1.19.1 → 1.20.0 (#767) 2018-12-29 11:48:21 -06:00
Setup.hs Migrate `dhall-{bash,json,text}` into this repository (#661) 2018-10-28 17:32:51 -07:00
default.nix Install mostly static executables on OS X when using Nix (#830) 2019-03-04 19:43:31 -08:00
dhall-bash.cabal Version 1.27.0 → 1.28.0 (#1575) 2019-12-05 19:28:39 -08:00
shell.nix Migrate `dhall-{bash,json,text}` into this repository (#661) 2018-10-28 17:32:51 -07:00

README.md

dhall-bash

For installation or development instructions, see:

Full documentation here:

Introduction

This dhall-bash package provides a Dhall to Bash compiler so that you can easily marshall Dhall values into your Bash scripts

This does not compile all available Dhall language constructs into Bash and only supports extracting primitive values, lists, optional values and records from normalized expressions.

Example

$ dhall-to-bash <<< '1'
1
$ dhall-to-bash <<< '"ABC" ++ "DEF"'
ABCDEF
$ dhall-to-bash --declare FOO <<< '"ABC" ++ "DEF"'
declare -r FOO=ABCDEF
$ eval $(dhall-to-bash --declare FOO <<< '"ABC" ++ "DEF"')
$ echo "${FOO}"
ABCDEF
$ dhall-to-bash --declare BAR
let replicate = https://prelude.dhall-lang.org/List/replicate
in  replicate 10 Natural 1
<Ctrl-D>
declare -r -a BAR=(1 1 1 1 1 1 1 1 1 1)
$ dhall-to-bash --declare BAZ <<< '{ qux = 1, xyzzy = True }'
declare -r -A BAZ=([qux]=1 [xyzzy]=true)