Earlier quoted context omitted.
> Imagine all programs having to pass TERM, DISPLAY, HOME, etc. as arguments in case some descendant process wants to use it and the user override. Like passing TERM, DISPLAY to git in case you want to override them for the configured pager or editor. Interestingly this is exactly what I have been wishing was standard practice for a few years now! Otherwise you end up pickup up implicit configuration from the environ…
> Interestingly this is exactly what I have been wishing was standard practice for a few years now! You mean that when you call e.g. `tmux` you want to be forced to call it as something like `tmux -e HOME=... -e TERM=... -e DISPLAY=... -e USER=... ...`, and likewise for basically all other programs? > I admit my years of experience with Haskell may have coloured this opinion. Reader in Haskell helps prevent having to…
> Reader in Haskell helps prevent having to do that similar to environment variables or dynamic scoping
I would be happy with an interface like Reader in Haskell but I don't see that it's much like dynamic scope. The subject has been explored a few times in this discussion.