freenode/#clasp - IRC Chatlog
Search
15:00:15
drmeister
I'm stuck at home because we had a bad storm yesterday and my train line is down.
15:00:45
drmeister
I was on a train last night when they shut the line down - we stopped and then reversed back into the train station. I've never experienced that before.
15:04:47
drmeister
ACTION notes that while his keyboard can generate an 'å' with Option-a, it cannot generate an 'o' with two dots over it.
15:06:33
beach
Anyway, great discovery by no-defun-allowed today. I was up to 15 minutes on the 4 current phases of SICL bootstrapping. But I have my OPTIMIZE qualities by default to DEBUG 3 and SPEED 0. With the default SBCL settings, it takes 1/10 of that.
15:06:48
drmeister
I'm thinking more and more about scymtym's idea of (<tab> *something*) for autocompletion. I know it would be hard - but I would really like that feature.
15:08:42
beach
stassats: This is the first time I notice that huge a difference though. It would be fun at some point to understand what the difference is.
15:09:43
drmeister
Shinmera: The idea was to fill in the function name given just the arguments - and it was actually supposed to look like ( *something* <point>
15:10:05
drmeister
Then it would give you a sorted list of things that make sense in the first position of the form.
15:10:41
Shinmera
I don't really understand that myself. How would you know what arguments your function takes but not the name?
15:10:46
stassats
i think the only thing debug 2 really does is preserving variables, generated code wise, the rest is just better debug info computation
15:11:52
drmeister
I'd like to know what methods would apply with a *something* object as the first argument.
15:13:57
Shinmera
I think he wants what's usually done in C++/Java etc where you get "methods of a class"
15:16:08
Bike
yeah, we have the specializer-direct-methods and such set up properly, since we need them in fastgf
15:16:37
drmeister
who-calls, who-binds, who-sets, who-references, who-macroexpands, who-specializes-directly
15:22:49
drmeister
Every time I sit down to write chemistry code in the jupyterlab/slime interface I get frustrated with the disconnect between the environment I want to be working in and the incomplete environment that I have.
15:26:36
drmeister
I have so many classes and these complicated objects - I know there is a way to get a molecule from a 'conformation' object - I just don't recall how.
15:27:59
drmeister
I guess we would need to know what type a function returns - we get that from C++ but in Common Lisp it will all be T
15:29:38
Bike
i forget if we actually store ftypes yet. i did some work for it but don't recall how much i hooked it up
15:31:53
drmeister
Bike: While I have you - this (de)serialization thing - could we resolve what needs to be done there? I see a way to support CLOS objects by adding a 'fields/fieldsp' pair of methods to Instance_O. It's not going to be safe or handle versions unless we can come up with a simple solution to that.
15:32:09
drmeister
I thought I'd serialize the class name, the number of slots and a vector of slots.
15:33:46
Bike
i'm really not sure that we should define a readable print-object for standard-object.
15:34:37
drmeister
Why isn't it a good idea? This isn't a challenge - I want to know what you think the downsides are.
15:36:19
Shinmera
using a custom pprint table for when you do need to do this is less invasive and more customisable in my opinion
15:36:32
Bike
i think what we could do is provide an extension function to print a standard-object with #i syntax, and then we can define print-object methods for cando objects to call that function.
15:36:56
Shinmera
The other thing is that you can't always recreate instances from the data in their slots
15:38:58
Shinmera
Or put another way: classes and instances thereof are a part of a user-defined protocol that you can't generalise
15:40:34
Bike
there is no doubt that we can, in some sense, serialize objects with slots, but that doesn't mean we ought to
15:41:55
drmeister
Sure - but what should I do for those classes that I really want to serialize - that I design to be serialized? Maybe I should have the C++ method 'fields' invoke a generic function that the user specializes and that works like 'fields'?
15:43:47
drmeister
print-object doesn't do everything that 'fields' does. 'fields' handles generating key/value pairs for slots and taking a collection of key/value pairs and filling in slots.
15:44:14
Bike
print-object doesn't do anything. i'm saying we DEFINE METHODS for the cando classes that use fields or whatever.
15:48:30
Bike
We're talking about how we can get the Lisp printer to output some readable representation of a chem:atom or suchlike, right?