Hi Sam! I wasn't familiar with racket/load and it seems neat. But it either seems too hopeless, or not hopeless enough:
Since all forms within a racket/load module are evaluated in the top level, bindings cannot be exported from the module using provide. This seems like a bit too much unfortunately. If I were to be writing for instance a web application or a game or what have you, I'd still want the dynamism of being able to redefine things, but I'd also want to be able to export things from a module. Maybe here's a properly hopeless level of indirection? What if we had something like a lambda-box that for toplevel definitions of functions instead wrapped the function in a box. It can still be invoked, but if redefined, the contents of the box could be swapped out with a new function? That's not too far off from how Guile's redefining works presently, if I understand right. Redefining a toplevel non-function could just set! the variable. I guess maybe you couldn't provide more than what you've already provided from the module. But that's probably okay? Sam Tobin-Hochstadt writes: > You might find the racket/load language useful for this. > > Sam > > On Wed, Mar 21, 2018, 12:49 PM Christopher Lemmer Webber < > cweb...@dustycloud.org> wrote: > >> Just curious. I have my reasons... for instance, I wrote a multiplayer >> game in Guile where you could change the world while players are in it >> without kicking them out. I don't think you can do that while having a >> toplevel that's as fixed as Racket's is. >> >> I've read the emails from Matthew Flatt about "the toplevel is >> hopeless". So the question is... how hard would it be to support >> "#lang hopeless"? :) A language for the toplevel! >> >> Maybe the toplevel is generally hopeless, but those of us who wish to >> live in a world of despair can happily still have it. >> >> -- >> 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. >> -- 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.