jackdaniel changed the topic of #commonlisp to: Common Lisp, the #1=(programmable . #1#) programming language | Wiki: <https://www.cliki.net> | IRC Logs: <https://irclog.tymoon.eu/libera/%23commonlisp> | Cookbook: <https://lispcookbook.github.io/cl-cookbook> | Pastebin: <https://plaster.tymoon.eu/>
Lord_of_Life_ has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 240 seconds]
Lord_of_Life_ is now known as Lord_of_Life
jeffrey has quit [Ping timeout: 252 seconds]
occ has joined #commonlisp
fbytez has quit [Quit: byte byte]
fbytez has joined #commonlisp
Guest79 has joined #commonlisp
lucasta has quit [Remote host closed the connection]
chrcav has quit [Quit: leaving]
pfdietz has quit [Ping timeout: 260 seconds]
chrcav has joined #commonlisp
jmdaemon has quit [Ping timeout: 248 seconds]
skin has joined #commonlisp
jmdaemon has joined #commonlisp
eddof13 has joined #commonlisp
skin has quit [Read error: Connection reset by peer]
skin has joined #commonlisp
Guest79 has quit [Ping timeout: 260 seconds]
NicknameJohn has joined #commonlisp
nij- has joined #commonlisp
jello_pudding has quit [Ping timeout: 246 seconds]
occ has quit [Ping timeout: 252 seconds]
occ has joined #commonlisp
akoana has joined #commonlisp
jello_pudding has joined #commonlisp
kevingal has joined #commonlisp
kevingal_ has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
neon has quit [Ping timeout: 246 seconds]
pfdietz has joined #commonlisp
waleee has quit [Ping timeout: 265 seconds]
pfdietz has quit [Quit: Client closed]
skin has quit [Quit: Quit]
ryanbw has joined #commonlisp
pfdietz has joined #commonlisp
pfdietz has quit [Client Quit]
eddof13 has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
steew has quit [Ping timeout: 260 seconds]
hineios has quit [Ping timeout: 265 seconds]
occ has quit [Ping timeout: 276 seconds]
hineios has joined #commonlisp
neon has joined #commonlisp
<beach`> I need some ideas. Let's say I have a library L that implements some part of the standard, and let's say some Common Lisp implementation C wants to use the library intrinsically, i.e., C does not have its own code for what L implements.
<beach`> Now, when some code in L detects an error situation, it needs to signal an error, and sometimes the error condition type is not standardized. But if L defines its own condition types to signal, then the error will be reported in terms of L, and perhaps that situation is not appealing to C.
<beach`> So I need a way for C to parameterize what condition types L will use in order to signal errors. How can this be done in a way that is not too hard to do or to understand?
beach` is now known as beach
<beach> So I guess I need for some names of condition types to have a package determined by C, and then referenced (perhaps indirectly) by L when an error situation occurs.
NicknameJohn has quit [Ping timeout: 250 seconds]
<edwlan[m]> Would it make sense to have the implementation handle the conditions the library provides and signal its own condition?
<beach> That would certainly work. But I fear that this mechanism would be too complicated. But maybe not. Perhaps a macro could help.
occ has joined #commonlisp
<beach> I guess in some cases for C to establish a condition handler for some function in L would be too expensive.
<beach> How about this: L defines a generic function ERROR with one required parameter. It also defines it's own condition types. By default L:ERROR calls CL:ERROR, so that if C does nothing, something reasonable happens.
<beach> But C can define a method (EQL specialized to the required parameter with the object being a symbol in L) that calls CL:ERROR using some condition type defined by C itself.
kevingal_ has quit [Ping timeout: 276 seconds]
kevingal has quit [Ping timeout: 276 seconds]
dipper has joined #commonlisp
rtypo has quit [Ping timeout: 252 seconds]
dcb has quit [Quit: MSN Messenger v2.16.1]
akasha has joined #commonlisp
<edwlan[m]> It seems to me the cost of indirection should be about the same
<edwlan[m]> But maybe my intuition is off here
jaimelm has quit [Ping timeout: 265 seconds]
jaimelm has joined #commonlisp
remexre has quit [Read error: Connection reset by peer]
remexre has joined #commonlisp
<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.
igemnace has joined #commonlisp
rgherdt has joined #commonlisp
pranavats has left #commonlisp [Error from remote client]
occ has quit [Ping timeout: 268 seconds]
occ has joined #commonlisp
attila_lendvai_ has joined #commonlisp
kenran has joined #commonlisp
Lumine has joined #commonlisp
<beach> edwlan[m]: Does that make sense?
akasha has quit [Quit: Konversation terminated!]
<edwlan[m]> Yeah
<jackdaniel> beach: how about a generic function (client-condition client l-condition) that defaults to identity?
<jackdaniel> (identity of the second argument)
<beach> I considered that as well. It may be an alternative.
<jackdaniel> I see
<beach> The difference would be in how additional arguments are treated. In this suggestion, they are all passed to the client condition creation.
<jackdaniel> this solution is more failproof. imagine someone calling l:error with an instance (not a symbol) created earlier (i.e resignaling)
<jackdaniel> eql won't work in this scenario
<beach> True.
eddof13 has joined #commonlisp
pranavats has joined #commonlisp
occ has quit [Ping timeout: 255 seconds]
occ has joined #commonlisp
eddof13 has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
shka has joined #commonlisp
Josh_2 has quit [Ping timeout: 265 seconds]
occ has quit [Ping timeout: 252 seconds]
occ has joined #commonlisp
chipxxx has joined #commonlisp
chipxxx has quit [Remote host closed the connection]
son0p has quit [Ping timeout: 268 seconds]
chipxxx has joined #commonlisp
occ has quit [Ping timeout: 264 seconds]
occ has joined #commonlisp
Cymew has joined #commonlisp
LW has joined #commonlisp
chrcav has quit [Ping timeout: 255 seconds]
chrcav has joined #commonlisp
shka has quit [*.net *.split]
epony has quit [*.net *.split]
slyrus has quit [*.net *.split]
pieguy128_ has quit [*.net *.split]
Lord_Nightmare has quit [*.net *.split]
igemnace has quit [*.net *.split]
jonatack3 has quit [*.net *.split]
Sauvin has quit [*.net *.split]
specbot has quit [*.net *.split]
borodust has quit [*.net *.split]
anddam has quit [*.net *.split]
micro has quit [*.net *.split]
theBlackDragon has quit [*.net *.split]
phileasfogg has quit [*.net *.split]
overclucker has quit [*.net *.split]
viaken2 has quit [*.net *.split]
hefner has quit [*.net *.split]
jfb4 has quit [*.net *.split]
famicom_guy_ has quit [*.net *.split]
selwynning has quit [*.net *.split]
micro has joined #commonlisp
viaken2 has joined #commonlisp
anddam has joined #commonlisp
igemnace has joined #commonlisp
micro has joined #commonlisp
micro has quit [Changing host]
anddam has quit [Changing host]
anddam has joined #commonlisp
minion has quit [Remote host closed the connection]
overclucker has joined #commonlisp
specbot has joined #commonlisp
minion has joined #commonlisp
Sauvin has joined #commonlisp
pieguy128 has joined #commonlisp
theBlackDragon has joined #commonlisp
phileasfogg has joined #commonlisp
Lord_Nightmare has joined #commonlisp
jfb4 has joined #commonlisp
borodust has joined #commonlisp
slyrus has joined #commonlisp
jonatack3 has joined #commonlisp
selwynning has joined #commonlisp
famicom_guy has joined #commonlisp
shka has joined #commonlisp
hefner has joined #commonlisp
attila_lendvai_ is now known as attila_lendvai
igemnace has quit [Changing host]
igemnace has joined #commonlisp
occ has quit [Ping timeout: 248 seconds]
occ has joined #commonlisp
Brucio-61 has quit [Ping timeout: 260 seconds]
dilated_dinosaur has quit [Quit: Leaving]
pve has joined #commonlisp
scymtym has quit [Ping timeout: 248 seconds]
akoana has quit [Quit: leaving]
epony has joined #commonlisp
Brucio-61 has joined #commonlisp
azimut_ has quit [Ping timeout: 255 seconds]
scymtym has joined #commonlisp
son0p has joined #commonlisp
occ has quit [Ping timeout: 252 seconds]
occ has joined #commonlisp
occ has quit [Ping timeout: 240 seconds]
Gleefre has joined #commonlisp
<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.
<beach> Equill: Thanks. Aside from the implementation, I think the solution is similar to the one I suggested.
<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.
<beach> Ah, right, so your suggestion is similar to that of jackdaniel rather than mine.
<beach> Run-time overhead during error signaling should not be a big problem.
<beach> Error situations are by definition infrequent.
* beach has a feeling he will soon regret having said that.
* Equill thinks so, too
<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 :)
<beach> I can see that.
Gleefre has quit [Remote host closed the connection]
Gleefre has joined #commonlisp
ahc has joined #commonlisp
lucasta has joined #commonlisp
jeffrey has joined #commonlisp
dmgk has left #commonlisp [#commonlisp]
pfdietz has joined #commonlisp
jmdaemon has quit [Ping timeout: 265 seconds]
jello_pudding has quit [Ping timeout: 265 seconds]
notzmv has quit [Ping timeout: 260 seconds]
scymtym_ has joined #commonlisp
scymtym has quit [Ping timeout: 256 seconds]
Brucio-61 has quit [Ping timeout: 260 seconds]
Brucio-61 has joined #commonlisp
jello_pudding has joined #commonlisp
kenran has quit [Ping timeout: 255 seconds]
cage has joined #commonlisp
dino_tutter has joined #commonlisp
attila_lendvai has quit [Ping timeout: 252 seconds]
attila_lendvai has joined #commonlisp
tyson2 has joined #commonlisp
Gleefre has quit [Ping timeout: 260 seconds]
kenran has joined #commonlisp
waleee has joined #commonlisp
Cymew has quit [Ping timeout: 246 seconds]
White_Flame has quit [Remote host closed the connection]
White_Flame has joined #commonlisp
jonatack has joined #commonlisp
jonatack has quit [Client Quit]
rtypo has joined #commonlisp
jonatack3 has quit [Ping timeout: 260 seconds]
Brucio-61 has quit [Ping timeout: 260 seconds]
Brucio-61 has joined #commonlisp
kevingal has joined #commonlisp
kevingal_ has joined #commonlisp
notzmv has joined #commonlisp
Gleefre has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
jonatack has joined #commonlisp
waleee has quit [Quit: WeeChat 3.8]
azimut has joined #commonlisp
jello_pudding has quit [Ping timeout: 256 seconds]
tyson2 has joined #commonlisp
skin has joined #commonlisp
kenran has quit [Ping timeout: 248 seconds]
nij- has quit [Ping timeout: 248 seconds]
jello_pudding has joined #commonlisp
skin has quit [Remote host closed the connection]
skin has joined #commonlisp
pfdietz has quit [Quit: Client closed]
NotThatRPG has quit [Ping timeout: 250 seconds]
<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
pfdietz has joined #commonlisp
<beach> Nice!
<beach> Soon, we'll be able to render the Leland music font, so that i can use it in Clovetree.
dipper has quit [Ping timeout: 248 seconds]
tyson2 has quit [Remote host closed the connection]
tevo has quit [Ping timeout: 276 seconds]
Inline has joined #commonlisp
e40 has joined #commonlisp
<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.
Gleefre has quit [Remote host closed the connection]
zxcvz has joined #commonlisp
tyson2 has joined #commonlisp
zxcvz has quit [Client Quit]
skin has quit [Quit: Leaving.]
awhow has joined #commonlisp
<pfdietz> Yay!
<pfdietz> Should I send him 10.1 bugs?  I have some.
<pfdietz> If he wants to send me a pre-release snapshot of 11, I could test that...
Inline has quit [Quit: Leaving]
random-nick has joined #commonlisp
skin has joined #commonlisp
<e40> Yes, please send 10.1 bugs to support@franz.com
<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.
<pfdietz> Cool, thanks.
gxt__ has quit [Remote host closed the connection]
gxt__ has joined #commonlisp
NicknameJohn has joined #commonlisp
Inline has joined #commonlisp
lucasta has quit [Remote host closed the connection]
skin has quit [Quit: Leaving.]
dcb has joined #commonlisp
skin has joined #commonlisp
skin has quit [Read error: Connection reset by peer]
jello_pudding has quit [Ping timeout: 252 seconds]
ahc has quit [Quit: Client closed]
epony has quit [Remote host closed the connection]
jello_pudding has joined #commonlisp
skin has joined #commonlisp
pfdietz has quit [Quit: Client closed]
Inline has quit [Quit: Leaving]
epony has joined #commonlisp
Inline has joined #commonlisp
karlosz has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
jello_pudding has quit [Ping timeout: 256 seconds]
e40 has quit [Quit: Client closed]
<cpli> how/(where in the source) does McClim select the backend to use?
<cpli> i.e. i have code that can leverage multiple backends which all create some object but have shared generic functions - all seems trivial and good - until i'm actually supposed to create one of these objects
igemnace has quit [Quit: WeeChat 3.8]
scymtym_ is now known as scymtym
<jackdaniel> the function find-port accepts the "server path" argument that may be used to select a backend
<jackdaniel> you may bind (or setf) *default-server-path* to i.e :clx-ttf and then all indirect port resolving will use the x11 backend
<jackdaniel> you may use also (clime:with-output-to-drawing-stream (stream :svg "/tmp/foo.svg") ...) to use svg backend
<jackdaniel> or (clime:with-output-to-drawing-stream (stream :clx-ttf nil) ...) to open a window
<jackdaniel> (there are other ways too)
<jackdaniel> if you are interested in the mechanism just navigate to the source of the function find-port
<jackdaniel> cpli: ^
NotThatRPG has joined #commonlisp
<ixelp> McCLIM/ports.lisp at 555728b4cd0744ce7c3c681c7e46425d34a31ed3 - McCLIM - Codeberg.org
<scymtym> splittist: how did you parse the CFF font?
_dcb_ has joined #commonlisp
dcb has quit [Remote host closed the connection]
tyson2 has joined #commonlisp
<jackdaniel> cpli: :)
<splittist> scymtym: with jqs-type1, which I am writing now (:
<scymtym> splittist: i see. i extended zpb-ttf to support opentype fonts but i'm apparently too slow to release
<splittist> Well, I won't do that, then.
<splittist> The Type2 charstring parsing just takes a bytestream and some defaults from the font, so should be usable in a OFF / OpenType context.
<splittist> (that is, the parsing I'm doing)
<scymtym> right, i'm doing it the same way
<splittist> I guess I should put what I've got (which is not in any way release-worthy) somewhere you can pick the eyes out of it and get back to extracting text from PDFs (:
<scymtym> i didn't mean to discourage you from working on fonts. but looking at your solution would definitely be interesting
waleee has joined #commonlisp
pfdietz has joined #commonlisp
* scymtym also started to add support for the color bitmap tables at some point: https://techfak.de/~jmoringe/format.opentype-color-bitmaps-1.png :)
<splittist> Cool.
<splittist> scymtym: I've dumped what I have here: https://github.com/splittist/jqs-type1 . To treat everything as octets I have reader macros on #" and #! as analogues of " and #\ (so you can use the character(s) for their byte values).
<ixelp> GitHub - splittist/jqs-type1: Extract font metrics from type1 fonts etc
<splittist> Don't believe the title.
ahc has joined #commonlisp
<scymtym> splittist: thank you
pfdietz58 has joined #commonlisp
e40 has joined #commonlisp
_dcb_ is now known as dcb
pfdietz has quit [Ping timeout: 260 seconds]
pfdietz has joined #commonlisp
pfdietz58 has quit [Ping timeout: 260 seconds]
pfdietz has quit [Ping timeout: 260 seconds]
FIlystyn has joined #commonlisp
<FIlystyn> hwo DO i write a comment in lispcode ?
<FIlystyn> line comments, block comments? hymu ?
<bjorkintosh> Filystyn, ;;;
<bjorkintosh> ?
<bjorkintosh> or ;; or ; ?
<FIlystyn> works
<FIlystyn> thx
<gilberth> ;; for a comment alone on a line and a single ; otherwise.
<FIlystyn> naaah, google is evil
<ixelp> Common Lisp Style Guide | Common Lisp
<ixelp> GitHub - foxsae/The-One-True-Lisp-Style-Guide: A subset of style recommendations for Common Lisp based upon the points o [...]
<splittist> Or see the spec 2.4.4.2
<FIlystyn> too early
<FIlystyn> too early for this
morganw has joined #commonlisp
<bjorkintosh> what's too early, Filystyn?
<beach> Filystyn: Your questions are better asked in #clschool.
<beach> Filystyn: #commonlisp is not really meant for newbie questions, although they are tolerated to some extent.
<beach> Filystyn: But seriously, you need to learn to read some relevant sections of the standard.
<FIlystyn> im going with practical course
<FIlystyn> the lack of commen twas just getting on my nervs
<beach> Filystyn: I understand, but you are potentially wasting people's time by asking questions that could be asked with a simple lookup in the standard.
<FIlystyn> it's fine
tyson2 has quit [Remote host closed the connection]
tane has joined #commonlisp
tane has quit [Changing host]
tane has joined #commonlisp
cage has quit [Quit: rcirc on GNU Emacs 28.2]
* jackdaniel chuckled
amoroso has joined #commonlisp
<ober> knowing CL is not a boolean
ahc has quit [Quit: Client closed]
<masinter> if you used Medley, everyone could have their own preferred style
<masinter> not serious, never mind
<edgar-rft> ober, now it is: (defparameter CL t)
waleee has quit [Ping timeout: 248 seconds]
<gilberth> Only, that CL is not Boolean, it has many truths.
<ober> beach: try not to scare off new blood :p
waleee has joined #commonlisp
Gleefre has joined #commonlisp
amoroso has quit [Quit: Client closed]
tyson2 has joined #commonlisp
waleee has quit [Ping timeout: 260 seconds]
Brucio-61 has quit [Ping timeout: 260 seconds]
scymtym has quit [Ping timeout: 260 seconds]
tane has quit [Quit: Leaving]
<contrapunctus> ober: strange thing to say to someone who tirelessly and patiently answers the darnedest newbie questions in #clschool O_o
<ober> and flags sbcl errors as "not commonlisp related"
<jackdaniel> I agree that Filystyn asks questions that they should have found answers on their own, but mind that at least in theory being helpful does not contradict scarying people off
<jackdaniel> another thing worth mentioning that scarying some people off may be a good filter
<jackdaniel> s/that/is that/
<jackdaniel> with that pointless remark I wish you all good night :)
<ober> nite
tyson2 has quit [Remote host closed the connection]
Brucio-61 has joined #commonlisp
attila_lendvai has quit [Ping timeout: 252 seconds]
tyson2 has joined #commonlisp
jmdaemon has joined #commonlisp
MajorBiscuit has joined #commonlisp
e40 has quit [Quit: Client closed]
tyson2 has quit [Remote host closed the connection]
pfd has joined #commonlisp
ryanbw has quit [Ping timeout: 255 seconds]
xristos has quit [Ping timeout: 250 seconds]
cosimone has joined #commonlisp
poselyqualityles has joined #commonlisp
ryanbw has joined #commonlisp
ewf has joined #commonlisp
jello_pudding has joined #commonlisp
MajorBiscuit has quit [Quit: WeeChat 3.6]
pfdietz has joined #commonlisp
pfdietz has quit [Client Quit]
cosimone has quit [Remote host closed the connection]
cosimone has joined #commonlisp
rgherdt has quit [Remote host closed the connection]
waleee has joined #commonlisp
cosimone has quit [Remote host closed the connection]
flip214 has quit [Ping timeout: 276 seconds]
kevingal_ has quit [Ping timeout: 240 seconds]
kevingal has quit [Ping timeout: 240 seconds]
Gleefre has quit [Ping timeout: 260 seconds]
jeffrey has quit [Ping timeout: 260 seconds]
NotThatRPG has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
lisper29 has joined #commonlisp
FIlystyn has quit [Remote host closed the connection]
<jmercouris> I'm having a problem with format, if I do something like "(format t "~:[~;lol~]" "fish")" it will slurp fish, ,and I can't print it
<jmercouris> I could solve it by something like this: (format t "~:[~;~a~]" t "fish")
LW has quit [Quit: WeeChat 3.8]
<jmercouris> but then I am introducing another variable
<jmercouris> of course I *could* write a function that does this, but that seems excessive, anyone know how to print nthe value of a variable, or otherwise nil?
<jmercouris> (format "~magical_control_string" "tomato") -> tomato, (format "~magical_control_string" nil) -> nil
<jmercouris> and when I say nil, I really meant "" above
<jmercouris> you know what, forget it, I'll just set it to a default value of "" and call it a day
<jmercouris> seems much simpler that way anyways
hrberg has quit [Quit: No Ping reply in 180 seconds.]
son0p has quit [Read error: Connection reset by peer]
<semz> jmercouris: For the first issue, ~* goes to the next argument and ~:* goes to the previous one, without printing anything.
<White_Flame> (format t "~a" (or var "")) ?
<semz> For the second one, ~@[~a~] does exactly what you want
<semz> and lets you specify a more detailed formatter if the object is non-nil
hrberg has joined #commonlisp
jeffrey has joined #commonlisp
<pjb> jmercouris: (list (format nil "~A" "tomato") (format nil "~A" nil)) #| --> ("tomato" "nil") |#
son0p has joined #commonlisp
lucasta has joined #commonlisp
lisper29 has quit [Quit: Leaving]
shka has quit [Ping timeout: 260 seconds]
tevo has joined #commonlisp
flip214 has joined #commonlisp
pve has quit [Quit: leaving]
jeffrey has quit [Ping timeout: 252 seconds]
skin has quit [Remote host closed the connection]
Guest50 has joined #commonlisp
Guest50 has quit [Quit: Client closed]
morganw has quit [Remote host closed the connection]
e40 has joined #commonlisp
jurassic has joined #commonlisp
jurassic has quit [Remote host closed the connection]
jurassic has joined #commonlisp