libera/#commonlisp - IRC Chatlog
Search
5:31:02
beach
You are probably right. However, in the case of re-signaling, the cost is paid on every call, whether it signals anything or not. In the case of the generic function, the cost is paid only when an error is signaled. And error signaling is usually not cheap, so the cost is drowned by the rest of the processing.
6:08:32
jackdaniel
beach: how about a generic function (client-condition client l-condition) that defaults to identity?
6:11:27
beach
The difference would be in how additional arguments are treated. In this suggestion, they are all passed to the client condition creation.
6:15:14
jackdaniel
this solution is more failproof. imagine someone calling l:error with an instance (not a symbol) created earlier (i.e resignaling)
10:10:52
Equill
beach: in case you haven't already found a viable solution, I have a hacky workaround that _may_ do what you need. Have L create a LUT when it's loaded, that C can override. The LUT's keys are identifiers for problems that need signalling, and the values are the conditions to be signalled.
10:12:05
beach
Equill: Thanks. Aside from the implementation, I think the solution is similar to the one I suggested.
10:12:09
Equill
The obvious catch is that any conditions C inserts into the LUT will need to accept the same parameters as the conditions they're replacing. Otherwise, I *think* the only run-time-overhead is the look-up involved when the condition is signalled.
10:14:59
Equill
It's a matter of scale, in part. My last employer discovered that "one-in-a-million" situations become a daily occurrence, if you have enough active clients :)
15:51:56
splittist
A gothic 'p' extracted from a Type1C (CFF) font embedded in a PDF and 'rendered' to SVG with stems: https://snipboard.io/iuJAK8.jpg
15:58:16
beach
Soon, we'll be able to render the Leland music font, so that i can use it in Clovetree.
16:11:49
e40
There was a query earlier about Duane Rettig. He's alive and well. I saw him yesterday! Still working on Common Lisp and the upcoming ACL 11.0 release.
16:24:08
e40
Also, there is a pre-release available now. Send email to the same address asking for it and I'll shoot you the URL.