Let's say I'd like to move Racket apps closer to old-school Emacs-like extensibility. Such as very-low-friction way to use arbitrary Racket code to set app preferences, and to hook into behavior of the app and add features. And generally encouraging everyone to get their hands dirty coding improvements to the things they use, and to share.

What's a good way to do that?

Alternatives include (for app Foo):

* User has a file "foo-custom.rkt" that is loaded when Foo is started. This file might `provide` bindings recognized and used by Foo, or it might hook in by `require`ing some module from Foo. And users who develop substantial extensions can share them by copying the code into some ".rkt" source file (like Emacs users did with ".el" files).

* 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 ...)`.

* Conventional IDE-generated-file-tree-plugin-container-package-bureaucratic-BS with obligatory multibillion-cash-cow-middleman-lock-in-app-store. There's a place for that, and also numerous industry places lately where it's done mainly to create captive users or new corporate/cabal moat barriers to competition, but I'd like to try something simple and low-friction for Racket apps.

* Very different alternative: copying and modifying the source of Foo for user preferences is encouraged. A problem with this is that it is a lot of work for users to share improvements, peer-to-peer and/or with curated canonical upstream versions.

I'm leaning towards one of the first two bulleted alternatives.

This question is not motivated only by a desire to use Racket as a tiny sandbox for exploring changes to contemporary industry thinking-- but also because I might have an unreleased app gathering dust, and there's no way I'm going to commit to numerous current and future hours of clerical-drone UI coding, for the nontrivial "configuration / preference settings". :)

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