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.

Reply via email to