artjom.simon
2020-9-14 22:23:49

@artjom.simon has joined the channel


anything
2020-9-15 02:00:06

Bummer. Here’s what I just found:

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 11204 root 20 0 619188 446244 10988 R 100.0 1.4 2386:09 racket

Last time I killed it with the TERM signal, but I didn’t seem to get anything meaningful in the logs. I do find a programming error in my update procedure that happened on date 2020–09–11–15–26–57 — a few days ago. But if you look at date of this log, we seem to have to spoken after the date of the update. The update takes less than hour, so it would have been done by the time I wrote to you thanking you above. So I would not believe this programming error is somehow producing an infinite loop. However, since it is a programming error, I’ll fix it and continue to observe it. I’ll keep you posted! (Thanks again!)


dedbox
2020-9-15 05:15:44

I’m wrestling with submodule expansion and could use some help. I’m working on a #lang event/racket/base that embeds its module body into a synchronizable event. Inside files that start with #lang event/racket/base, everything works fine, but submodules with only one form in their body are being expanded prematurely. For example, this code works fine:

(module my-event-module event/racket/base (list) (do [xs <- (values 1 2 3)] (println `(GOT ,xs)) (apply values xs))) but if I remove the (list) expression on line 2, Racket tries to expand the module body before my custom #%module-begin kicks in to erase the do. This behavior is documented clearly in the Reference, section 3.1:

> If a single form is provided, then it is partially expanded in a <https://docs.racket-lang.org/reference/syntax-model.html#%28tech._module._begin._context%29|module-begin context>. If the expansion leads to https://docs.racket-lang.org/reference/module.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._~23~25plain-module-begin%29%29\|#%plain-module-begin, then the body of the https://docs.racket-lang.org/reference/module.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._~23~25plain-module-begin%29%29\|#%plain-module-begin is the body of the module. If partial expansion leads to any other primitive form, then the form is wrapped with #%module-begin using the lexical context of the module body; Is there a simple way around this quirk?


samth
2020-9-15 05:21:38

have the do macro check if it’s running in module-begin context, and if it is, expand to (begin (do ...))


samth
2020-9-15 05:21:55

or even (begin (void) (do ...))