libera/#commonlisp - IRC Chatlog
Search
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ā¦
23:50:44
semz
Is it legal to preallocate a single storage-condition for this situation and just reuse it every time?
23:51:13
White_Flame
the system should at least leave space for creating/handling out of memory conditions, I don't think it's a problem for you to do the same
23:52:18
White_Flame
however, it's not just the condition object. Any consing, including during printing, can still be problematic
23:53:38
hayley
Apparently not, the notes are just about what can signal STORAGE-CONDITION (tl/dr everything).
23:57:29
specbot
Resignaling a Condition: http://www.lispworks.com/reference/HyperSpec/Body/09_adaa.htm
23:57:33
saturn2
it should be legal to preallocate a storage-condition and then make a new one after it's been handled and there's room again
0:00:11
saturn2
maybe it doesn't matter since this rule only applies "during the dynamic extent of the signaling process"
0:02:04
saturn2
and running out of memory again while handling a storage-condition just means the world ends anyway
0:02:09
semz
Are conditions themselves guaranteed to survive the signalling process? If they don't, one could reuse the space. Doesn't deal with OOM during the OOM handler but arguably this is a major user fuckup.
0:08:04
Nilby
IIRC some lisp machines had a memory reserve for handling out of memory conditions, and also the firmware could save a restartable image if things got really bad