lexi-lambda / envy

An environment variable manager for Racket applications
https://lexi-lambda.github.io/envy/envy.html
17 stars 1 forks source link

#lang envy DSL #3

Closed jackfirth closed 9 years ago

jackfirth commented 9 years ago

(First off, this is really cool and I've wanted something like this for a while)

It would be especially nice if there was a #lang envy:

#lang envy
aws-access-key-id
aws-secret-access-key
[foo-enabled? #:name "FOO_ENABLED" #:default #f]

Which would be equivalent to:

#lang typed/racket/base
(require envy)
(define/provide-environment
  aws-access-key-id
  aws-secret-access-key
  [foo-enabled? #:name "FOO_ENABLED" #:default #f]

And it would be even nicer if it used syntax that cooperated with sweet expressions:

#lang sweet-exp envy
aws-access-key-id
aws-secret-access-key
foo-enabled? #:name "FOO_ENABLED" #:default #f
lexi-lambda commented 9 years ago

Aha! You have anticipated my killer feature. Nice job. :wink:

Anyway, yeah, I'm planning to implement this sooner rather than later. It shouldn't be too hard, and the only remaining question was how to get syntax like your sweet-exp example, but that's a perfect solution. Thanks for that!

lexi-lambda commented 9 years ago

Implemented in 06b4fee3abc756077ab0f277a0690a136d7c1496.