libera/#clasp - IRC Chatlog
Search
19:03:57
bike
paulapatience: coerce into a custom sequence type should Just Work. under the hood, (coerce thing 'seq-type) does (concatenate 'seq-type thing) which does (make-sequence 'seq-type ...) which of course does make-sequence-like.
19:20:38
bike
hm. works for me, when i made an extremely basic custom sequence class. let me futz with some settings
19:21:55
bike
you're passing in your wrapper class, right? as in, the thing that is actually a subclass of SEQUENCE
19:22:37
bike
that error can only happen if you pass coerce a non-sequence (or use an AND type, but you're not doing that)
19:23:29
paulapatience
I haven't updated Clasp in a while, though, have there been changes touching that recently?
19:25:09
bike
https://github.com/clasp-developers/clasp/blob/main/src/lisp/kernel/lsp/predlib.lisp#L664 you can see the code here, this part is pretty straightforward
19:29:03
bike
after redefining the class? you might have to use a new name/restart clasp, class redefinition from a non-standard-object to a standard-object is hairy
19:40:02
bike
coerce will work anyway, if it's compiled, because there's a compiler macro to turn (coerce foo 'list) into (core::coerce-to-list foo), and coerce-to-list is properly sequence-aware
20:19:43
bike
this is not going to work smoothly. the whole idea is kind of anathema to baker's idea that types can be divided into "families". all sequence subtypes would need to be in the same family
20:35:14
paulapatience
Hah, I had in my notes 'Bike implied I should do from_translators too' (for const int&, const double&, etc.)
20:35:23
paulapatience
And I just encountered a bug that I thankfully didn't spend too much time debugging
20:35:53
paulapatience
Did you make any progress with the const-dropping for primitive type translators?
21:09:59
bike
i did not, unfortunately. it turns out there are a couple placces that actually have different constness types in translators for some reason, so i couldn't just use remove_cv like i was hoping
0:39:39
paulapatience
Is there any way in clbind to wrap a C++ exception so that it is caught on the Lisp side instead of aborting Clasp?
2:22:04
paulapatience
Intermittent as in, during my interactive session in Sly, sometimes the error gets signaled.
2:22:11
paulapatience
Intermittent as in, during my interactive session in Sly, sometimes the error gets signaled.
2:22:11
paulapatience
Intermittent as in, during my interactive session in Sly, sometimes the error gets signaled.
2:26:54
paulapatience
Well, I made the zeroth MFEM example run... but it crashes at the end after a double free. Oops.
3:50:39
drmeister
paulapatience: We use udb - it's a time traveling debugger. We pay for a single license and we have it on a local machine.
3:52:16
drmeister
I find that it makes a lot of nightmare problems easy to debug with a little practice.
4:27:00
drmeister
bike: I came up with a hack to fix up the rotamer library. It fixes the problem of not being able to build between combinations of building blocks.
4:30:16
drmeister
That is a table of phi/psi angles at 10 degree increments. The underscores represent backbone residues that have phi/psi values with the col/row values.
4:31:20
drmeister
So I smear the sidechain entries across the empty backbone entries using rules I cooked up.
4:48:26
drmeister
This weekend I'll kick the tires on it and see if I can build chemically reasonable structures with this tool chain.