Neil Van Dyke wrote on 07/06/2017 05:53 AM:
* Pretty similar alternative: user has a Racket file "my-foo", which is the immediate program the user runs. This file does a `(require foo)`, as well as a `(start-foo #:pref1 x #:pref2 y ...)`.

I think this is probably the alternative I would/will try, for this kind of programmer-centric app.

The Racket package for the stock app can add a very simple executable program, "foo", that looks for the "foo" program in the user's home directory (or equivalent), and execs that program.

If the "foo" program does not exist in the user's home directory, the stock "foo" program can create it with default contents (the `require` and the `start-foo`), before execing it.

(So, the user can run either program and get effectively the same behavior from. No headaches about getting environment variables right in all situations. Someone who wanted to speed up startup slightly could exec the user's "foo" program when it exists, and otherwise exec the stock one. OS menus and such, if they can't perform logic like test for file existence, can just call the stock program.)

--
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