freenode/#lisp - IRC Chatlog
Search
1:08:38
lotuseater
if i type in SLIME (defmethod initialize-instance ...) there are shown at the bottom many keywords, what exactly affects that?
1:48:12
Bike
i think slime just shows all keywords that are accepted by any initialize-instance method. possibly slot initargs as well?
2:55:08
seok
if I compile a lisp program and give it to someone else, can they try to figure out what objects are internally by reading memory?
3:01:32
Bike
i don't think that's a good idea regardless of what programming language you're using, no
3:01:34
Alfr
seok, what problem are you trying to solve? Though it likely is better suited for the cafe.
3:03:55
seok
but if the client is shipped with encrypted variable, it would be have to be shipped with the key too
3:04:55
Alfr
seok, homomorphic encryption and that what you ship must only operate on the blobs. But I don't know of any efficient scheme or even if what you want to do is possible with what little we currently have.
3:06:07
Bike
you could do some key exchange to establish a secure channel and then send your ssn or whatever that way
3:35:12
tinga
Hi. How do I bind a value in the top level of a package, so that changes to the code (reloading the file) can have it be a different value?
3:35:34
tinga
(defconstant foo 123) in SBCL will not allow foo to be defined anything else on subsequent loads.
3:36:59
tinga
I feel like I'd be OK with setf not working on foo. There's defparameter for those, after all. But the SBCL behaviour seems to make it impossible to develop the program without a restart?
3:41:39
tinga
Why is this false? I thought `equal` does structural equality?: (equal (make-array '(2 3) :initial-element "hi") (make-array '(2 3) :initial-element "hi"))
3:47:00
Alfr
tinga, have a look at equalp, tough it's not case sensitive for string. If that doesn't fit your bill, simply write your own predicate.
3:59:09
tinga
How do I name variables (function arguments) that are never used? SBCL warns me even if I prefix them with an underscore.
4:03:52
pfdietz
Or an ignorable declaration. Or, if it's a required parameter to a method, a T specializer.
4:06:05
beach
tinga: The question about the equality predicates comes up regularly. The short answer is that there is no universal solution and Common Lisp is proposing a few that are frequently used. But in the general case, you need to come up with your own.
4:07:01
tinga
OK. I guess come up with your own would make most sence via CLOS; I was hoping for some standard protocol.
4:20:19
tinga
substitute https://archive.is/mj4If for http://home.pipeline.com/~hbaker1/ObjectIdentity.html
4:26:02
beach
And I don't think his suggestion will resolve the issue of multiple equality predicates.
5:13:24
astronavt
maybe a silly question, but: i just did `ros install qlot`. now what? does roswell have its own "bin" dir that i need to add to my PATH?
12:24:56
VincentVega
Hmm, why does closer-mop:slot-definition-writers accept only a direct-slot-definition as an argument? What if I have a derived class and want to see writers for an inherited slot?
12:28:25
jmercouris
I don't understand why it cannot find that which exists, do I hvae the repository wrong? the signature wrong?
12:29:09
jmercouris
VincentVega: perhaps you will have to go up the inheritance tree and query the object which has the slot itself
12:32:09
VincentVega
jmercouris: well, that could be a solution, but I am wondering what's the reason for this, because it's weird to see this work
12:32:12
VincentVega
(c2mop:slot-definition-writers (first (c2mop:class-direct-slots (find-class class-name))))
12:32:22
VincentVega
(c2mop:slot-definition-writers (first (c2mop:class-slots (find-class class-name))))
12:33:10
jmercouris
and that way when you change something in a inherited class it updates in its descendants
12:33:56
jmercouris
my other guess is that this behavior is due to an implementation detail of CLOS within most implementations
12:35:39
VincentVega
but walking up the inheritence tree won't give me the effective list of writers/readers of the derived class unless I manually merge and that's a bother
12:36:44
VincentVega
I am generating :before methods for writers of those slots which invalidate cache of other slots
12:38:34
jmercouris
maybe you could make an instance of an object and inspect that more easily than the classes
12:39:26
VincentVega
i don't think it would even have to be runtime w/ eval-when :compile-toplevel, right?