libera/#sicl - IRC Chatlog
Search
3:21:46
beach
For UNWIND, I think I can get away with having the UNWIND function return, so that it would be an indirect JMP followed by a relative JMP with a label.
3:22:13
beach
But we do have cross-function labels, so I changed my mind about assembling each function separately.
3:32:02
beach
However, not much will get done today. I need to go buy food in 2 hours or so, and my favorite coauthor is coming over for lunch, so I need to cook for her.
8:16:06
Duuqnd
Any suggestions for how I should get the initial seed? Normally I'd want to use the OS's randomness source and use the current time as a fallback, but I'm not sure how to do OS-specific things with SICL (should I even?).
8:19:30
Duuqnd
Well yeah but I'm not sure how that would work when bootstrapping. I've only read one paper from 2019 about how it works and I'm still not sure I got it all. Is using #+ for OS detection fine in SICL modules?
8:20:20
hayley
I don't think any other module uses RANDOM, so you can assume that your code will only be loaded while producing the final environment?
8:22:32
Duuqnd
no-defun-allowed: It feels a bit wrong to do it like that but I guess I will. Also, since random-state is a class and I'm making the MT19937 generator a subclass of that, I could make another subclass of random-state that uses the OS's randomness source and use that as the default seed source.
8:23:01
Duuqnd
Wait, how do I respond to your messages when using matrix, it turns the asterisks into italic?
8:24:04
hayley
Because some Matrix clients aren't careful with internal and external representations, and decide the asterisks (yes, my Matrix nick is still *no-defun-allowed*) are italic syntax.
8:25:38
mfiano
Good. I would much rather have something with better properties, like something in the PCG family.
8:26:50
hayley
I have implemented worse but faster random number generators for fuzz testing before.
8:27:24
Duuqnd
I'm making the MT19937 generator is a subclass of random-state so adding something else should be as easy as adding a new subclass to it and changing which class make-random-state uses.