I'm trying to expand a task manager to optionally use places and I'm having some trouble understanding the issue.
; test.rkt #lang racket (provide start) (define (start thnk) (sync (place ch (place-channel-put ch (thnk))))) ; x.rkt #lang racket (require "test.rkt") (start (thunk 'ok)) Result: ; identifier used out of context: #<[...]/test.rkt:5:19 thnk> I know that the place is creating a submodule which closes over the place id ('ch') and the top level declarations, meaning only 'start'. The argument to start is not at top level so it's invisible in the submodule, meaning that the place code can't use it. I feel like parallelizing a function at runtime should be a primary use case for places but I'm not sure how to progress. Things I tried: *) Passing the thunk in via place-channel-put, but functions are place-message-allowed? #f. *) Creating a top-level parameter into which I put the thnk at runtime. Same problem. Am I fundamentally misunderstanding something? -- 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. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/CAE8gKoc2v81%2BAHTn0YniCS8SEqYT0Ngz5qztTNh%3D0LUZyWeoGQ%40mail.gmail.com.