My hot take is parameters and threads are equivalent-ish to
environment variables and processes -- with similar behavior, pros,
and cons.

The `parameterize` form ~= the env save/set/restore of fork without
the overhead of actually launching a process?

~~~

I've been doing a lot of work on racket-mode lately. Anything to do
with loading and expanding and evaluating code has a lot of options
that would be pretty painful to supply as function parameters
everywhere -- current-namespace, current-eval, current-custodian,
current-module-name-resolver, compile-enforce-module-constants,
compile-context-preservation-enabled, {instrumenting profiling
test-coverage}-enabled, current-prompt-read ... and on and on.

Plus it is extremely helpful to know that threads can use different
values and not stomp on each other -- say a thread running
read-eval-print-loop vs. a thread accepting TCP commands vs. the
main/original thread.

However that's just one point in codespace and I agree there are vast
spaces where function parameters are cleaner, simpler, and faster.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to