libera/#commonlisp - IRC Chatlog
Search
10:05:21
mfiano
Is the only difference between #'symbol-function and #'fdefinition that the latter is more general in that it also works with '(setf name)? If so, is there any use for the former?
10:07:03
mfiano
ACTION has always used fdefinition. Not sure what symbol-function can do that it can't
10:13:15
mfiano
Ah I suppose symbol-function works for functions not bound in the global environment.
10:27:03
pjb
lotuseater: it would be dangerous to try to parse svg, if you expect a certain form of svg (eg. as generated by TeX), because other svg could be parsed giving one expression, but rendered showing another expression.
11:23:13
jackdaniel
mfiano: basically fdefinition was introduced /after/ cltl2 to allow accessing functions like (setf foo), symbol-function was left for backward-compatibility
12:26:59
jackdaniel
indeed, it is already present in cltl2 (being nitpicky as I am - what I've _meant_ was CLtL2 because I've remembered wrong) ; thanks for correction
13:04:22
pve
I'm having great fun writing cute reader hacks with eclector, but are there any reader hacks that would be genuinely useful?
13:58:57
Josh_2
I was originally using condition and then pjb mentioned something about how I should use error or serious-condition etc and so I swapped to error
13:59:38
jackdaniel
serious-condition along with errors should catch as well timeouts and storage exhaustion conditions
13:59:45
beach
pve: And it is also used to avoid interning symbols arbitrarily, and to avoid errors due to package prefixes of packages that don't exist.
14:00:38
Josh_2
well currently I keep getting an problem where I'm running out of fd's because I have a background thread that is supposed to catch all errors
14:02:15
Josh_2
that is probably what is causing this, I'll just swap to serious-condition rather than error, that'll probably fix it
14:05:59
Josh_2
Bike: What I assume is happening is a condition is sneaking passed my handler-case and causing and its being handled by a restart much higher up, this restart tries to get it to reconnect to the server, this is then done thousands of times and bang broke
14:06:21
Josh_2
or the restart isn't happening and its just trying to make thousands of connections which achieves the same thing
14:12:31
beach
pve: Absolutely. I designed the embryonic version (as the SICL reader) in order to use it to parse Common Lisp code in Second Climacs buffers, but then scymtym took over and made it as great as it is today.
14:28:23
Josh_2
Yes the method locative, I just find it to be exceptionally finicky, although I should probably put that down to inexperience more than anything
14:28:43
Josh_2
I would copy the examples for say a method like (on-save (method () t)) and I would get an error saying that this method cannot be found
14:38:34
etimmons
Xach: I'd love to have a gray stream extension to salza2 that mirrors chipz's make-decompressing-stream. Is that something you'd like to see added to salza2 or should I make a new project to wrap it?
14:40:55
Xach
etimmons: hmm, i think that would be fine in salza2 - using trivial-gray-streams or similar?
19:34:01
etimmons
salt rock lamp: I promised you a link to my work in progress on libgit2. Sorry it took so long: <https://gitlab.common-lisp.net/etimmons/cl-libgit2>
19:34:41
etimmons
salt rock lamp: The lispified wrappers are very much in the experimentation phase, so I can't really recommend using it.
19:35:50
jcowan
The modern view seems to mean that "parallel" does mean" "at the same time", in which case let-bindings are better described as concurrent. This view goes back to at least 1968.
19:38:26
jcowan
Throwing up and catching two balls with two hands is a parallel operation. Juggling three balls with two hands is a concurrent operation.
19:56:27
pjb
Josh_2: if you get storage-condition, and know what to do about them (eg. free some memory), then catch it. Explicitely, and precisely it. But don't catch other non-error conditions that you don't know, and that other parts of the system may rely catching.
19:57:02
pjb
Josh_2: catch storage-condition with handler-bind, it makes no sense catching it with handler-caseā¦