freenode/#lisp - IRC Chatlog
Search
19:00:59
Bike
Nil is which argument to find-method? the first argument to find-method is the generic function.
19:01:56
Bike
find-method finds a method with the exact specializers you get it. like, if you provide a class that's a subclass of a class that does have a method specialized on it, that method won't be returned
19:05:32
Bike
this is the function that's actually used during a call, if you pretend caching doesn't exist
19:38:34
thijso
How do I just restart/retry a function if it fails? Can I do (restart-case (somefun) (restart-fun () (somefun)) and then bind handler to invoke that restart on failure? Is there a better way to do this? For context, 'somefun' starts a UDP listener on a port, and regardless of errors, it needs to get back up and listening.
19:40:50
jmercouris
I assume the operation is a blocking one in this case, if it is not, my suggestion doesn't work
19:44:38
thijso
My idea was to wrap the (wait-for-input ...) call in an unwind-protect, where the socket gets correctly closed in case of failure. Then the function that called udp-start-server in the restart calls that same function again, re-connecting the port. But I'm not sure if this is the correct way to do this.
19:45:20
Josh_2
if an error is called it just attempts to restart the function in a networking context
19:50:29
Josh_2
Plaster has absolute murdered the indentation, I think it is because I use tabs not spaces ¯\_(ツ)_/¯
19:52:13
thijso
jmercouris: yeah, that's next on my list to figure out, but I'm having trouble debugging as it's threaded code. I'm using the udp port to also send dump commands, so I can see what is going on. Bit of a hack, I know, but it works. As long as I have the UDP port to talk to...
19:52:51
Josh_2
thijso: you can print to standard output with a background thread by printing to *standard-out* if that helps with debugging
19:53:43
jmercouris
thijso: I guess my question is, if you are just listening on the UDP port, why does it crash? is it *what* you are doing with the data that you listen to that is causing your program to crash?
19:54:41
thijso
The issue I'm having is not printing to stdout while my program is behaving. The issue is that my errors seem to miss a lot of information when they happen. It's a lot less than what I get in slime, for example.
19:55:14
jmercouris
thijso: aha! well then, I should inform you about the two types of slime you can have
19:56:00
jmercouris
thijso: you can have a ~/.swank.lisp like this (setf swank:*communication-style* :spawn) or like this (setf swank:*communication-style* :fd-handler)
19:57:45
jmercouris
I'm not sure exactly, I believe FD handler is file descriptor handler rather than a BSD socket
20:00:00
thijso
Ah, yes. But I'm running the code without swank or slime, as I need to run x instances (nodes) that talk to each other.
21:13:13
eich
Hey everyone, I just downloaded CLisp from sourceforge. how can I build from source on a mac?
21:36:04
remexre
is there a builtin to turn a (vector unsigned-byte) to a bit-vector in big-endian order?
21:38:39
kpoeck
than ./configure --with-libiconv-prefix=<yourlibiconvpath> --with-libsigsegv-prefix=<yourlibsigsegvpath> --with-libreadline-prefix=<yourlibreadlinepath> --with-libffcall-prefix=<yourlibffcallpath> --cbcx <directoryname>
0:10:15
remexre
is there a way with iterate to iterate through all the active elements of an arbitrary array?