freenode/#clasp - IRC Chatlog
Search
1:47:27
Bike
https://github.com/clasp-developers/clasp/blob/master/include/clasp/core/random.h#L70-L78 oh, yeah. just call these
1:51:47
drmeister
Why do we have a write_ugly_object function? What's ugly about it? This is copied from ECL
1:52:24
Colleen
Clhs: variable *print-pretty* http://www.lispworks.com/documentation/HyperSpec/Body/v_pr_pre.htm
1:54:35
drmeister
I'm looking for where the dispatching happens. It looks like I implement __write__(T_sp stream)
1:56:30
Bike
the pretty printer is more or less separate from the rest and written mostly in lisp, but the ugly printer, yeah, i don't know
2:07:48
drmeister
I'll initialize a random-state in a separate operation and then use it from then on to generate sequences.
2:08:34
drmeister
This will allow me to generate the sequences and setup the synthesizers using the same code path on subsequent re-runs of the jupyter notebook as the first run.
2:09:03
drmeister
Currently in the first run of the synthesis planner I was generating sequences and initializing a lot of state for the robotic synthesizers.
2:09:53
drmeister
Then I would rerun the notebook multiple times but to get the same sequences I would load the synthesizer state with the sequences.
2:10:22
drmeister
Then I would improve the code so that it would generate more stuff that the robots needed and I'd do this over and over again.
2:11:06
drmeister
A problem came up yesterday where somehow the saved state of the synthesis was not internally consistent - I don't know how that happened. But I couldn't recover.
2:12:11
drmeister
Today something else happened. Two of our latest building blocks refused to dissolve in N-methylpyrrolidone (the solvent we use for synthesis).
2:12:36
drmeister
This was when we were deep into weighing and dissolving all of the building blocks.
2:12:55
drmeister
So we needed to quickly swap out those building blocks for others that we weren't using.
2:14:13
drmeister
So it would be nice if I could run the whole setup again and get all the same sequences from the saved random-state - but with a small substitution file that substitutes building blocks for other ones and recalculate everything.
2:16:31
drmeister
Next I'm going to write code to build three-dimensional structures for every possible molecule that we can make that has this initial plan that we are using.
2:19:14
drmeister
It's more than 1.1M compounds that we can make with our current setup - that's just a sequence of four building blocks and we've made more than 33 of them. Nature has the 20 amino acids. We have 33 building blocks right now and can make hundreds more.
2:48:35
drmeister
(read-from-string (let ((*print-readably* t)) (with-output-to-string (sout) (print (make-random-state t) sout))))
2:55:45
Bike
like you give it a random state and a string, and it fills the random state with the info from the string
2:56:43
drmeister
I'm going to have random-state-set return the random-state - then I don't have to make the form in the #.(...) any more complicated.