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/>
azimut has joined #commonlisp
random-nick has quit [Ping timeout: 272 seconds]
xlarsx has joined #commonlisp
jeosol has quit [Quit: Client closed]
xlarsx has quit [Ping timeout: 250 seconds]
xlarsx has joined #commonlisp
NotThatRPG has joined #commonlisp
xlarsx has quit [Ping timeout: 272 seconds]
mrcom has quit [Ping timeout: 250 seconds]
Catie has quit [Quit: sQuit]
waleee has quit [Ping timeout: 276 seconds]
mrcom has joined #commonlisp
mrcom has quit [Ping timeout: 240 seconds]
xlarsx has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 246 seconds]
Lord_of_Life has joined #commonlisp
akoana has quit [Quit: leaving]
xlarsx has quit [Ping timeout: 272 seconds]
causal has quit [Quit: WeeChat 3.6]
xlarsx has joined #commonlisp
xlarsx has quit [Ping timeout: 250 seconds]
morganw has quit [Remote host closed the connection]
tyson2 has quit [Remote host closed the connection]
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
terrorjack has joined #commonlisp
Oladon has joined #commonlisp
aartaka has joined #commonlisp
xlarsx has joined #commonlisp
tiziodcaio has joined #commonlisp
bilegeek has quit [Quit: Leaving]
xlarsx has quit [Ping timeout: 255 seconds]
aartaka has quit [Ping timeout: 240 seconds]
ttree has quit [Ping timeout: 250 seconds]
istewart has joined #commonlisp
istewart has quit [Quit: Konversation terminated!]
aartaka has joined #commonlisp
aartaka has quit [Ping timeout: 272 seconds]
drainpipe has joined #commonlisp
xlarsx has joined #commonlisp
xlarsx has quit [Ping timeout: 272 seconds]
xlarsx has joined #commonlisp
azimut has quit [Ping timeout: 258 seconds]
igemnace has joined #commonlisp
drainpipe has quit [Ping timeout: 272 seconds]
drainpipe has joined #commonlisp
drainpipe has quit [Ping timeout: 250 seconds]
drainpipe has joined #commonlisp
drainpipe has quit [Ping timeout: 240 seconds]
drainpipe has joined #commonlisp
drainpipe has quit [Ping timeout: 255 seconds]
mfiano has quit [Quit: WeeChat 3.7.1]
mfiano has joined #commonlisp
dipper has quit [Remote host closed the connection]
dipper has joined #commonlisp
enzuru has quit [Quit: ZNC 1.8.2 - https://znc.in]
recordgroovy has quit [Ping timeout: 252 seconds]
recordgroovy has joined #commonlisp
enzuru has joined #commonlisp
dnaeon has joined #commonlisp
rgherdt has joined #commonlisp
attila_lendvai has joined #commonlisp
shka has joined #commonlisp
epony has joined #commonlisp
attila_lendvai has quit [Ping timeout: 250 seconds]
xlarsx has quit [Remote host closed the connection]
xlarsx has joined #commonlisp
Oladon has quit [Quit: Leaving.]
xlarsx has quit [Ping timeout: 240 seconds]
mfiano has quit [Quit: WeeChat 3.7.1]
mfiano has joined #commonlisp
pve has joined #commonlisp
sedzcat has joined #commonlisp
sedzcat has quit [Client Quit]
admich has joined #commonlisp
_cymew_ has joined #commonlisp
xlarsx has joined #commonlisp
dipper has quit [Remote host closed the connection]
dipper has joined #commonlisp
xlarsx has quit [Ping timeout: 272 seconds]
igemnace has quit [Remote host closed the connection]
xlarsx has joined #commonlisp
mfiano has quit [Quit: WeeChat 3.7.1]
mfiano has joined #commonlisp
xlarsx has quit [Ping timeout: 250 seconds]
admich has quit [Read error: Connection reset by peer]
admich has joined #commonlisp
_cymew_ has quit [Ping timeout: 246 seconds]
xlarsx has joined #commonlisp
pranavats has left #commonlisp [Disconnected: Hibernating too long]
pranavats has joined #commonlisp
xlarsx has quit [Ping timeout: 255 seconds]
epony has quit [Ping timeout: 252 seconds]
epony has joined #commonlisp
X-Scale has quit [Remote host closed the connection]
epony has quit [Remote host closed the connection]
epony has joined #commonlisp
xlarsx has joined #commonlisp
dnaeon has quit []
admich has quit [Ping timeout: 272 seconds]
igemnace has joined #commonlisp
ahc has joined #commonlisp
xlarsx has quit [Remote host closed the connection]
xlarsx has joined #commonlisp
jmdaemon has quit [Ping timeout: 252 seconds]
xlarsx has quit [Ping timeout: 272 seconds]
mfiano has quit [Quit: WeeChat 3.7.1]
mfiano has joined #commonlisp
susam has left #commonlisp [#commonlisp]
susam has joined #commonlisp
<Shinmera> It also won't teach you about modern GL, as I said.
cage has joined #commonlisp
xlarsx has joined #commonlisp
thuna` has joined #commonlisp
attila_lendvai has joined #commonlisp
frgo has joined #commonlisp
xlarsx has quit [Ping timeout: 276 seconds]
jeffrey has joined #commonlisp
random-nick has joined #commonlisp
epony has quit [Ping timeout: 252 seconds]
epony has joined #commonlisp
xlarsx has joined #commonlisp
xlarsx has quit [Ping timeout: 252 seconds]
makomo has quit [Ping timeout: 240 seconds]
_cymew_ has joined #commonlisp
aartaka has joined #commonlisp
xlarsx has joined #commonlisp
matt` has joined #commonlisp
aartaka has quit [Ping timeout: 252 seconds]
tyson2 has joined #commonlisp
rendar_ has joined #commonlisp
aartaka has joined #commonlisp
Dynom_ has joined #commonlisp
Dynom_ is now known as Guest2841
rendar has quit [Ping timeout: 250 seconds]
aartaka has quit [Ping timeout: 250 seconds]
aartaka has joined #commonlisp
xlarsx has quit [Ping timeout: 250 seconds]
aartaka has quit [Ping timeout: 240 seconds]
Josh_2 has quit [Remote host closed the connection]
drainpipe has joined #commonlisp
xlarsx has joined #commonlisp
drainpipe has quit [Ping timeout: 272 seconds]
Oddity has quit [Ping timeout: 250 seconds]
xlarsx has quit [Ping timeout: 272 seconds]
epony has quit [Ping timeout: 252 seconds]
epony has joined #commonlisp
causal has joined #commonlisp
xlarsx has joined #commonlisp
xlarsx has quit [Ping timeout: 252 seconds]
Josh_2 has joined #commonlisp
<Josh_2> Shinmera: What do you suggest instead? I fear that I would be asking so many questions it would be unreasonable to expect you to help
matt` has quit [Remote host closed the connection]
<Josh_2> Also good mornin' :sunglasses:
aartaka has joined #commonlisp
tyson2 has quit [Read error: Connection reset by peer]
<splittist> What I've been doing on my holidays: https://imgur.com/a/tf2Vl26
<Shinmera> Josh_2: don't fear, just start postin' in #shirakumo. It's quiet enough over there.
<Shinmera> splittist: neato
<Shinmera> splittist: how much pain have you extracted from xslx so far? :)
<beach> splittist: Nice! What's the GUI library?
<splittist> Shinmera: thanks. I'm just scratching the surface. Names, formats, charts... to go.
<Shinmera> beach: that's just microsoft excel
<splittist> beach: That's Excel opening a workbook written in lisp.
<phoe> splittist: this looks like Microsoft Excel on the right
<phoe> welp
<beach> Ah!
cosimone has quit [Ping timeout: 260 seconds]
tyson2 has joined #commonlisp
Guest2841 has quit [Quit: WeeChat 3.7.1]
cosimone has joined #commonlisp
<Shinmera> Meantime, I'm just waiting for some last minute feedback on my next big Trial PR ( https://github.com/Shirakumo/trial/pull/35 ) which, among other things, adds support to load fully rigged and animated 3d models: https://staging.cohostcdn.org/attachment/672f1fe8-8af6-47cb-8336-d99370ddafa4/2022-10-22%2012-05-42.gif
<Josh_2> Thats really cool
<Josh_2> Have you tested to see what sort of performance you can get with lots of 3d models?
<Shinmera> No. As the PR mentions, passing rig data through textures to allow instanced rendering is left for later.
<Shinmera> It's already gpu-skinned though, so it should be fast even for high-poly models.
<Shinmera> all that's done on the CPU is transform the bones.
xlarsx has joined #commonlisp
xlarsx has quit [Ping timeout: 250 seconds]
vassenn has joined #commonlisp
igemnace has quit [Ping timeout: 276 seconds]
tiziodcaio has quit [Quit: Reconnecting]
igemnace has joined #commonlisp
azimut has joined #commonlisp
xlarsx has joined #commonlisp
Fare has quit [Ping timeout: 250 seconds]
epony has quit [Remote host closed the connection]
epony has joined #commonlisp
seletz has joined #commonlisp
morganw has joined #commonlisp
azimut_ has joined #commonlisp
azimut has quit [Ping timeout: 258 seconds]
xlarsx has quit [Remote host closed the connection]
xlarsx has joined #commonlisp
aartaka has quit [Ping timeout: 240 seconds]
aartaka has joined #commonlisp
epony has quit [Ping timeout: 252 seconds]
epony has joined #commonlisp
xlarsx has quit [Ping timeout: 272 seconds]
dipper has quit [Remote host closed the connection]
aartaka has quit [Ping timeout: 272 seconds]
aartaka has joined #commonlisp
aartaka has quit [Ping timeout: 246 seconds]
aartaka has joined #commonlisp
xlarsx has joined #commonlisp
xlarsx has quit [Ping timeout: 255 seconds]
aartaka has quit [Ping timeout: 255 seconds]
aartaka has joined #commonlisp
xlarsx has joined #commonlisp
igemnace has quit [Ping timeout: 250 seconds]
akoana has joined #commonlisp
aartaka has quit [Ping timeout: 250 seconds]
aartaka has joined #commonlisp
Guest25 has joined #commonlisp
seletz has quit [Ping timeout: 276 seconds]
aartaka has quit [Ping timeout: 272 seconds]
aartaka has joined #commonlisp
Guest25 has quit [Quit: Client closed]
Mandus has quit [Ping timeout: 260 seconds]
Mandus has joined #commonlisp
ec has quit [Remote host closed the connection]
ec has joined #commonlisp
aartaka has quit [Ping timeout: 240 seconds]
aartaka has joined #commonlisp
<char[m]> Hello common lisp. What is up with out of bounds behavior being unstandard? It seems like (svref (vector) 1) behaves differently across implementations even if it is just the condition type being different. What's the reasoning for not having a standard out-of-bounds-error condition?
vassenn has quit [Remote host closed the connection]
<phoe> clhs svref
tiziodcaio has joined #commonlisp
<phoe> huh, the spec doesn't say what condition type should be signaled then
<phoe> char[m]: most likely a deficiency in the standard, "exceptional situations" for clhs glossary entries are often unsatisfying
<kakuhen> the cleanup issues related to AREF also show some other deficiencies :P
<Alfr> phoe, I think those are mostly covered by 1.4.4.3, at least when we pass in unexpected things.
<char[m]> Unsatisfying and unsettling. Is there anything to be done about stuff like this? I would rather not write implementation specific code to handle out of bounds (out of bounds might happen is library code).
<phoe> char[m]: can't see anything better than (deftype out-of-bounds () #+sbcl .. #+ccl ... #+ecl ...) and then using OUT-OF-BOUNDS as a condition type in handlers
<Alfr> char[m], it essentially says, that you can't rely on an error being signaled instead of it rebooting the universe.
<char[m]> phoe: the problem with that is that many implementations (including sicl!) have chosen to make the out-ouf-bounds-error a some kind of type-error. You're example will end up trying to handle all type errors.
<phoe> char[m]: no, why?
<phoe> (deftype out-of-bounds () #+sicl (satisfies out-of-bounds-p)) (defun out-of-bounds-p (c) ...)
<phoe> and this is the worst case
<char[m]> Wouldn't the ... Just be (typep c 'simple-type-error)?
White_Flame has quit [Remote host closed the connection]
<phoe> no, this is too general
<phoe> SICL likely defines some sort of out-of-bounds condition on its own, at which point you can (deftype out-of-bounds () #+sicl 'sicl-conditions:out-of-bounds-error) or something
<phoe> where I imagined the package and symbol name
epony has quit [Ping timeout: 252 seconds]
<phoe> other implementations probably do a similar thing
White_Flame has joined #commonlisp
epony has joined #commonlisp
<char[m]> Sbcl does this. Ecl ccl (hard to tell) clisp and sicl just use type error.
<phoe> CCL does a simple error
<char[m]> Isn't that even worse?
<phoe> (defun out-of-bounds-p (c) #+ccl (and (typep c 'simple-error) (string= (simple-condition-format-control c) "Array index ~S out of bounds for ~S .") (= 2 (length (simple-condition-format-arguments c)))))
<phoe> it's a god damn hack, but that's the best you can do
<phoe> unless you make an issue/PR to the CCL repo
vassenn has joined #commonlisp
<char[m]> Given the lack of standard, best is is probably all implementations doing what sbcl does. With your solution, is it possible to (signal 'out-of-bounds ...)?
<phoe> nope
<phoe> because out-of-bounds names a type but not an instantiable condition type
<char[m]> That is what I feared.
tyson2 has quit [Remote host closed the connection]
<Josh_2> Best make sure you aren't out of bounds then ;)
igemnace has joined #commonlisp
<char[m]> Josh_2: that would be ideal wouldn't it.
<jackdaniel> programs should have no errors, so the condition system is obsolete when it comes to errors
jeffrey has quit [Remote host closed the connection]
<Josh_2> Exactly :sunglasses:
cowboy8625 has joined #commonlisp
<cowboy8625> whats the best way to check if a string is a valid number?
<phoe> a string is never a valid number because the types STRING and NUMBER are disjoint
<phoe> if you mean whether it contains a number, then parse-integer or parse-float
<phoe> or in general (ql:quickload :parse-number)
<jackdaniel> (numberp (read-from-string <string>)) and add the check whether the whole string was gobbled
McParen has joined #commonlisp
<cowboy8625> :jackdaniel thanks!
<char[m]> Be careful: parse-integer and read-from-string can signal errors if the input is malformed.
son0p has quit [Remote host closed the connection]
_cymew_ has quit [Quit: Konversation terminated!]
_cymew_ has joined #commonlisp
<char[m]> Also read-from-string can have other unwanted consequences.
phantomics has joined #commonlisp
<phoe> which is why I suggested parse-number
<phoe> no need to use the full reader this way
<jackdaniel> (cdr (assoc …)) is always more fun than (let ((foo (assoc …))) (cond ((null foo) nil) ((eql (cdr foo) nil) :null) (t (cdr foo))), just saying
cage has quit [Quit: rcirc on GNU Emacs 27.1]
vassenn has quit [Remote host closed the connection]
<char[m]> jackdaniel: It is a great thing that car and cadr return nil on nil input. Btw your input about error free programs helps on on an emotional level.
<jackdaniel> heh, I'm glad to hear that :)
<char[m]> phoe: even parse-number can signal an invalid-number error.
<phoe> char[m]: yes, I wish that there were more condition types defined overal
<phoe> l
<phoe> (but I am biased)
<char[m]> You mean like different condition types defined for how the number is invalid?
<phoe> no, like different condition types when different things go wrong
<phoe> the fact that most implementations use either simple-errors or simple-type-errors for SVREF failures is such a thing
<char[m]> It would be ideal, but what jack and josh said holds a lot of water.
pranavats has left #commonlisp [Error from remote client]
pranavats has joined #commonlisp
waleee has joined #commonlisp
<char[m]> I cant think of anything other than invalid-number could go wrong when trying to parse a number.
<Bike> number's too big and you run out of memory
Guest12 has joined #commonlisp
<Bike> (or it's not representable in your float format)
Guest12 has quit [Client Quit]
<jackdaniel> float underflow et al
<Bike> i agree that it would have been nice if there was a standard out-of-bounds condition, by the way. there's also no requirement that aref ever actually signal an error, but they could have at least thrown a "might be signaled" in there
<Bike> to do this conformingly, rather than checking for an error, which might not happen, you have to check array-in-bounds-p yourself
cowboy8625 has quit [Quit: WeeChat 3.5]
makomo has joined #commonlisp
son0p has joined #commonlisp
Oddity has joined #commonlisp
aartaka has quit [Ping timeout: 252 seconds]
zyni-moe has joined #commonlisp
zyni-moe has quit [Quit: died]
son0p has quit [Remote host closed the connection]
tyson2 has joined #commonlisp
epony has quit [Ping timeout: 252 seconds]
epony has joined #commonlisp
McParen has left #commonlisp [#commonlisp]
akoana has quit [Quit: leaving]
makomo has quit [Quit: WeeChat 3.6]
qhong has quit [Remote host closed the connection]
mathrick has quit [Ping timeout: 276 seconds]
tyson2 has quit [Remote host closed the connection]
jmdaemon has joined #commonlisp
pranavats has left #commonlisp [Disconnected: Hibernating too long]
mathrick has joined #commonlisp
pranavats has joined #commonlisp
<thuna`> How do you get coerce to return an adjustable vector?
seletz has joined #commonlisp
<Josh_2> Maybe you can do something like this instead: (let* ((l '(1 2 3))) (make-array (length l) :initial-contents l :adjustable t))
mariari has quit [Ping timeout: 260 seconds]
seletz has quit [Ping timeout: 272 seconds]
<pjb> thuna`: there's no type for adjustable. You could define a satisfies type, but coerce couldn't possibly use that.
<thuna`> Huh, I see that adjustability isn't a type
<thuna`> That's a bit odd, I would have expected it to be
<pjb> fill-pointers either.
jeosol has joined #commonlisp
_cymew_ has quit [Ping timeout: 252 seconds]
aartaka has joined #commonlisp
<phoe> pjb: (and array (not simple-array)) is kinda tempting, but
bitmapper has joined #commonlisp
<phoe> (typep (coerce '(1 2 3) '(and vector (not simple-array))) 'simple-array) returns T on SBCL and errors on some other implementations
cosimone has quit [Read error: Connection reset by peer]
Lycurgus has joined #commonlisp
mariari has joined #commonlisp
Lycurgus has quit [Quit: Exeunt juan@acm.org]
markb1 has joined #commonlisp
seletz has joined #commonlisp
Fare has joined #commonlisp
aartaka has quit [Ping timeout: 246 seconds]
aartaka has joined #commonlisp
seletz has quit [Ping timeout: 260 seconds]
aartaka has quit [Ping timeout: 250 seconds]
Fare has quit [Ping timeout: 240 seconds]
shka has quit [Ping timeout: 272 seconds]
aartaka has joined #commonlisp
xlarsx has quit [Remote host closed the connection]
xlarsx has joined #commonlisp
tyson2 has joined #commonlisp
xlarsx has quit [Ping timeout: 250 seconds]
aartaka has quit [Ping timeout: 260 seconds]
epony has quit [Ping timeout: 252 seconds]
aartaka has joined #commonlisp
epony has joined #commonlisp
pranavats has left #commonlisp [Disconnected: Hibernating too long]
xlarsx has joined #commonlisp
thuna` has quit [Remote host closed the connection]
morganw has quit [Remote host closed the connection]
pranavats has joined #commonlisp
xlarsx has quit [Ping timeout: 260 seconds]
xlarsx has joined #commonlisp
waleee has quit [Ping timeout: 264 seconds]
xlarsx has quit [Ping timeout: 272 seconds]
Oladon has joined #commonlisp
xlarsx has joined #commonlisp
ixelp has joined #commonlisp
mrcom has joined #commonlisp
son0p has joined #commonlisp
aartaka has quit [Ping timeout: 272 seconds]
aartaka has joined #commonlisp
seletz has joined #commonlisp
xlarsx has quit [Ping timeout: 240 seconds]
seletz has quit [Ping timeout: 246 seconds]