packages feed

shell-monad-0.6.8: TODO

* setVar allows `Var a` to be set to any value, the value
  is not constrained to be of type `a`. This seems necessary
  to allow, eg, `setVar v (Output (cmd "read"))`. On other
  hand, it's subptimal when using setVar with a Arith; in this
  case `a` should be some Integral.

* Allow: test (n `TEqual` 42)

  Perhaps by making Test an instance of Num?

* globalVar and withEnv take a Text name of the variable, and if it's not a
  legal shell variable name, can generate broken shell code.

* The EnvWrap and Raw constructors are an ugly hack around Expr not
  containing an AST for shell scripts. withEnv needs them to determine
  which way to set the local environment variable. An AST would improve
  the internals.