Yes I do.  Effectively I want to support message passing across
distributed & asynchronous systems which supports the appearance of
sequential code, even though it's really suspending and then waking back
up again when a response becomes available.

So running something like:

  (<<- my-actor 'some-method)

Triggers the following code, elsewhere:

      ;; ...
        (define resume-data
          (call-with-composable-continuation
           (lambda (k)
             (abort-current-continuation actor-prompt-tag k to sys-method
                                         kws kw-args args))
           actor-prompt-tag))
      ;; ...

So this is during a message send where we want our code to suspend, but
then when the other actor sends a response, this code is woken back up
again.

You can see more here:
  
https://gitlab.com/spritely/goblins/blob/eff201e93bc01e73baef160cfa798e993dddc73b/goblins/actors.rkt#L127
  
https://gitlab.com/spritely/goblins/blob/eff201e93bc01e73baef160cfa798e993dddc73b/goblins/actors.rkt#L338

Linked to a specific commit, as some of that code is about to go through
overhaul.

Matthias Felleisen writes:

> Do you manipulate delimited continuations with explicit prompts somewhere?
>
>
>> On Oct 23, 2018, at 7:38 PM, Christopher Lemmer Webber 
>> <cweb...@dustycloud.org> wrote:
>>
>> Christopher Lemmer Webber writes:
>>
>>> Christopher Lemmer Webber writes:
>>>
>>>> Somehow I'm triggering this error in Goblins.
>>>>
>>>>  ; Dynamic-wind record doesn't match prompt!
>>>>
>>>> I am doing some things with delimited continuations.  I'm guessing
>>>> that's related, but I'm not sure why/how one might expect to trigger
>>>> this error.  Any ideas?
>>>>
>>>> Thoughts?
>>>> - Chris
>>>
>>> Hm okay, my code is making things run out of memory I think and that's
>>> causing weird errors :)
>>>
>>> I'll try to figure out the source of that.
>>
>> Never mind, it's still happening regardless of the memory issue, but
>> inconsistently.  I'm not sure of the source of the error.
>>
>> --
>> 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