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/>
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ec_ is now known as ec
morganw has quit [Remote host closed the connection]
yvm has quit [Ping timeout: 255 seconds]
pfd has joined #commonlisp
pfd has quit [Ping timeout: 260 seconds]
azimut has quit [Ping timeout: 255 seconds]
eddof13 has joined #commonlisp
jeosol has joined #commonlisp
n0den1te has joined #commonlisp
eddof13 has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
occ has joined #commonlisp
Josh_2 has quit [Ping timeout: 248 seconds]
eddof13 has joined #commonlisp
n0den1te has quit [Quit: leaving]
akoana has joined #commonlisp
random-nick has quit [Ping timeout: 255 seconds]
waleee has quit [Ping timeout: 248 seconds]
dlowe has joined #commonlisp
dlowe has quit [Ping timeout: 252 seconds]
Josh_2 has joined #commonlisp
<Josh_2> Found a graph I made a while ago of a variety encryption ciphers and their relative performance in SBCL that I made https://imgur.com/NwDILed.png
perrierjouet has quit [Quit: WeeChat 3.8]
<Josh_2> Also just realized you can (concatenate '(simple-array (unsigned-byte 8) (*)) .... ) :facepalm:
<hayley> A bit lacking in pixels. On recent-ish x86-64 hardware, AES should be really damn fast, with hardware acceleration.
<hayley> But I don't recall seeing support for it in SBCL.
<hayley> ...no, Ironclad knows about AES-NI, so there must be something going on.
<Josh_2> This was quite some time ago
bilegeek has joined #commonlisp
<hayley> I can't read the Y axis label, so I don't know which direction is better.
<Josh_2> Lower is better
<hayley> Very well then.
<Josh_2> Why can't you read it... I can read it just fine on a 4k monitor
eddof13 has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
<hayley> Ah, now I can see it, my phone refused to render it at a decent resolution when I zoomed in. Oops.
akoana has quit [Ping timeout: 255 seconds]
brettgilio has joined #commonlisp
X-Scale has joined #commonlisp
occ has quit [Ping timeout: 255 seconds]
Inline has quit [Read error: Connection reset by peer]
Inline has joined #commonlisp
rtoy has quit [Quit: rtoy]
rtoy has joined #commonlisp
perrierjouet has joined #commonlisp
X-Scale has quit [Ping timeout: 260 seconds]
occ has joined #commonlisp
jello_pudding has quit [Ping timeout: 248 seconds]
jello_pudding has joined #commonlisp
floren has joined #commonlisp
<floren> asked a more specific version of this in #clim, but more generally: I have a vector of octets, and a function which wants to take a pathname to read data. Is there a way I can... treat the vector as though it were a file so I can invoke the function without writing the data to disk first?
bitmapper has quit [Quit: Connection closed for inactivity]
bilegeek_ has joined #commonlisp
bilegeek has quit [Ping timeout: 255 seconds]
Inline has quit [Remote host closed the connection]
Inline has joined #commonlisp
kenran has joined #commonlisp
kenran has quit [Remote host closed the connection]
splatt990 has quit [Ping timeout: 268 seconds]
Lycurgus has joined #commonlisp
Lycurgus has quit [Quit: Exeunt: personae.ai-integration.biz]
pfd has joined #commonlisp
rgherdt has joined #commonlisp
Inline has quit [Read error: Connection reset by peer]
inline__ has joined #commonlisp
bilegeek_ has quit [Quit: Leaving]
igemnace has joined #commonlisp
glaucon has joined #commonlisp
LW has joined #commonlisp
<lieven> an open stream is a pathname designator so depending on what you want to do with it a string-stream might be an option
LW has quit [Quit: WeeChat 3.6]
masinter has quit [Ping timeout: 255 seconds]
masinter has joined #commonlisp
jmdaemon has quit [Ping timeout: 246 seconds]
kaskal has quit [Remote host closed the connection]
kaskal has joined #commonlisp
augfab has joined #commonlisp
aartaka has joined #commonlisp
shka has joined #commonlisp
azimut has joined #commonlisp
jello_pudding has quit [Ping timeout: 255 seconds]
jello_pudding has joined #commonlisp
aartaka has quit [Ping timeout: 248 seconds]
yvm has joined #commonlisp
aartaka has joined #commonlisp
akoana has joined #commonlisp
jello_pudding has quit [Ping timeout: 246 seconds]
jello_pudding has joined #commonlisp
vn36 has joined #commonlisp
occ has quit [Ping timeout: 255 seconds]
vn36 has quit [Quit: leaving]
skeemer has joined #commonlisp
MajorBiscuit has joined #commonlisp
aartaka has quit [Ping timeout: 246 seconds]
aartaka has joined #commonlisp
azimut has quit [Remote host closed the connection]
azimut has joined #commonlisp
jello_pudding has quit [Ping timeout: 252 seconds]
<Shinmera> lieven: only file-streams are pathname designators.
<Shinmera> floren: No. You can treat the vector as a stream, but not as a file.
<lieven> Shinmera: indeed. I had missed that. Thanks.
rogersm has quit [Quit: Leaving...]
jello_pudding has joined #commonlisp
aartaka has quit [Ping timeout: 255 seconds]
aartaka has joined #commonlisp
X-Scale has joined #commonlisp
aartaka has quit [Ping timeout: 255 seconds]
aartaka has joined #commonlisp
aartaka has quit [Ping timeout: 255 seconds]
silasfox has joined #commonlisp
random-nick has joined #commonlisp
Cymew has joined #commonlisp
mingus has joined #commonlisp
pve has joined #commonlisp
<semz> I vaguely recall a corner case in the standard regarding type declarations and LOOP variables, but can't seem to find the details anymore. In (loop :for x :from 0 :below 200 ...), is a type declaration of (integer 0 199) admissible or does it have to be (integer 0 200)?
<semz> iirc it wasn't a theoretical issue either and implementations disagreed on whatever I was thinking of
<semz> ...maybe it was about whether variables are still bound in a :finally clause?
<hayley> I believe both were issues, but it was if the value should be bound to 199 or 200 while evaluating the finally clause.
<semz> hayley: not sure I fully understand; do you mean that people were unsure about what the standard says about both but implementations only disagreed in practice about the value in a finally clause?
<hayley> Mmm, I don't remember too well. I suspect the issues are related in practise.
tyson2 has joined #commonlisp
jonatack1 has joined #commonlisp
Lord_of_Life has quit [Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine]
jon_atack has quit [Ping timeout: 246 seconds]
Cymew has quit [Ping timeout: 255 seconds]
occ has joined #commonlisp
karlosz has joined #commonlisp
scymtym has joined #commonlisp
<Shinmera> I think beach would know best about it.
<jackdaniel> a typical implementation goles like (incf x) after executing the body, so if you have 'for x from 0 below 8' then x will end up as 8 in the finally clause; from this clause one could have an impression that declaring x as (integer 0 7) is correct, but as noted in finally clause it is not correct so we have undefined behavior (because the user declared something that is not true)
occ has quit [Ping timeout: 255 seconds]
<jackdaniel> as of what is correct interpretation here I have no opinion (whether the implementaion should take extra measures to not increment x after the last execution)
LW has joined #commonlisp
karlosz has quit [Quit: karlosz]
karlosz_ has joined #commonlisp
occ has joined #commonlisp
Cymew has joined #commonlisp
<beach> semz: I would like to be able to declare the type to be (integer 0 199), and Khazern (formerly SICL LOOP) is implemented to make that possible.
MajorBiscuit has quit [Ping timeout: 255 seconds]
MajorBiscuit has joined #commonlisp
<lieven> beach: what does the name Khazern refer too?
<beach> You had better ask yitzi who came up with it.
<yitzi> lieven: To repeat
<beach> lieven: yitzi kindly extracted the LOOP module into a separate (and separately maintained) repository.
<jackdaniel> yitzi: did you see this issue on ansi-test? https://gitlab.common-lisp.net/ansi-test/ansi-test/-/issues/36
<ixelp> add new loop tests (based on sicl loop defects) (#36) · Issues · ansi-test / ansi-test · GitLab
<lieven> yitzi: from what language? in Germanic languages it would suggest a military barrack
karlosz has joined #commonlisp
<yitzi> lieven: Yiddish. Technically it is "to repeat for the purposes of learning"
<beach> lieven: With the h and the z? Really?
<lieven> beach: Dutch kazerne
karlosz_ has quit [Quit: karlosz_]
<beach> I see.
<yitzi> jackdaniel: yes, I have pending changes to fix some of the defects in a PR. I've got make it work with SICL before merging.
<jackdaniel> Japanese 'Kaizen' seems also ssimilar
<jackdaniel> similar*
karlosz has quit [Quit: karlosz]
karlosz has joined #commonlisp
<yitzi> jackdaniel: Err, I should have said, there is a PR for Khazern to fix some of the last failures it has in the ANSI tests. Sorry...I'm coffee deficient.
<jackdaniel> that can be cured!
Cymew has quit [Ping timeout: 246 seconds]
<jackdaniel> is 'team clasp' attending this year els? :)
MajorBiscuit has quit [Ping timeout: 255 seconds]
MajorBiscuit has joined #commonlisp
dlowe has joined #commonlisp
jimmy2shoots has joined #commonlisp
waleee has joined #commonlisp
pfd has quit [Ping timeout: 260 seconds]
waleee has quit [Ping timeout: 248 seconds]
waleee has joined #commonlisp
mingus1 has joined #commonlisp
MajorBiscuit has quit [Ping timeout: 255 seconds]
mingus has quit [Ping timeout: 246 seconds]
mingus1 is now known as mingus
karlosz has quit [Read error: Connection reset by peer]
karlosz has joined #commonlisp
<Bike> jackdaniel: hopefully!
MajorBiscuit has joined #commonlisp
X-Scale has quit [Ping timeout: 260 seconds]
<beach> Hey, that's great!
scymtym_ has joined #commonlisp
scymtym has quit [Ping timeout: 246 seconds]
eddof13 has joined #commonlisp
MajorBiscuit has quit [Ping timeout: 246 seconds]
<beach> It looks to me like the first three example in the DO/DO* dictionary entry are badly indented. No?
<jackdaniel> seems like it, yes
<beach> Thanks for confirming.
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<jackdaniel> sure
waleee has quit [Ping timeout: 252 seconds]
karlosz has quit [Remote host closed the connection]
karlosz has joined #commonlisp
karlosz has quit [Client Quit]
karlosz has joined #commonlisp
augfab has quit [Remote host closed the connection]
jimmy2shoots has quit [Ping timeout: 246 seconds]
eddof13 has joined #commonlisp
MajorBiscuit has joined #commonlisp
<phoe> I read it as "thanks for conforming" and realized it has a weird taste when spoken in #commonlisp
jfloren has joined #commonlisp
<beach> Welcome to the club of increasingly dyslexic Lispers.
<pjb> :-)
<beach> pjb: I wish it were more fun to be a member, but it really isn't.
glaucon has quit [Quit: Leaving.]
<pjb> beach: C-t, M-t and C-M-t to help…
glaucon has joined #commonlisp
silasfox has left #commonlisp [ERC (IRC client for Emacs 26.3)]
karlosz has quit [Quit: karlosz]
karlosz has joined #commonlisp
rtoy has quit [Quit: rtoy]
rtoy has joined #commonlisp
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rtoy has quit [Quit: rtoy]
rtoy has joined #commonlisp
amoroso has joined #commonlisp
eddof13 has joined #commonlisp
zxcvz has joined #commonlisp
zxcvz has quit [Client Quit]
pranavats has joined #commonlisp
mingus1 has joined #commonlisp
rtoy has quit [Quit: rtoy]
mingus has quit [Ping timeout: 246 seconds]
mingus1 is now known as mingus
dtman34 has quit [Ping timeout: 255 seconds]
MajorBiscuit has quit [Quit: WeeChat 3.6]
jonatack1 has quit [Quit: WeeChat 3.8]
dtman34 has joined #commonlisp
Lord_of_Life has joined #commonlisp
jonatack has joined #commonlisp
knusbaum has quit [Quit: ZNC 1.8.2 - https://znc.in]
knusbaum has joined #commonlisp
cosimone has joined #commonlisp
cosimone has quit [Remote host closed the connection]
varjag has joined #commonlisp
cosimone has joined #commonlisp
jmdaemon has joined #commonlisp
cage has joined #commonlisp
occ has quit [Ping timeout: 268 seconds]
occ has joined #commonlisp
cosimone has quit [Ping timeout: 255 seconds]
morganw has joined #commonlisp
ldb has joined #commonlisp
igemnace has quit [Remote host closed the connection]
Krystof has quit [Ping timeout: 255 seconds]
Gleefre has joined #commonlisp
glaucon has quit [Read error: Connection reset by peer]
Lumine has joined #commonlisp
ldb has quit [Quit: ERC 5.4 (IRC client for GNU Emacs 28.1)]
gxt has quit [Remote host closed the connection]
gxt has joined #commonlisp
waleee has joined #commonlisp
<ober> (gethash "userName" (gethash "sessionIssuer" (gethash "sessionContext" (gethash "userIdentity" rec))))
<ober> (gethash "userName" (gethash "sessionIssuer" (gethash "sessionContext" (gethash "userIdentity" rec))))
<Josh_2> (gethash )
masinter has quit [Remote host closed the connection]
<ober> yeah irssi has no double paste protection it seems.
<Josh_2> gethash gethash gethash :sunglasses: I know all about *gethash*
<ober> is there a saner way to access a value in nested hashes?
<Josh_2> Write a macro
<ober> like let-alist
<Josh_2> If you are always going to be accessing a hash table like that one you can also have a method like (session-content <hash>) (session-issuer <hash>) etc
<ober> like a general macro?
<Josh_2> Yes you can just write a macro
<Josh_2> what?
<ober> gotcha.
<Josh_2> (defmacro with-nested-hash-accesses (val (accesses) first-hash &body body) `(let ((,val (.. loop over the accesses and expand to the appropriate code ..))) (locally ,@body))) something like that?
Guest63 has joined #commonlisp
<ober> make sense
<ober> it makes sense rather.
<Guest63> do you talk to me?
<yitzi> (defun gethash* (table &rest keys) (reduce (lambda (table key) (gethash key table)) keys :initial-value table))
<ober> nice
<Josh_2> That is cool but by default it'll cry if you get a nil value :O
<Josh_2> can add an error in the lambda :sunglasses:
<yitzi> Yes.
_cymew_ has joined #commonlisp
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<yitzi> ober: I presume this for accessing JSON data? I have often been irritated by the same thing.
<Josh_2> clhs says that the fun to reduce must also be able to accept 0 arguments :thinking:
<yitzi> I think that is only if there is not initial-value.
<Josh_2> I have never seen reduce used like that, I am very impressed
<Josh_2> most I use #'reduce for is basic maths like + or - :joy:
<yitzi> Thanks. ;)
<Bike> yeah, reduce only calls the function with no arguments if there's no initial value.
<Bike> and the sequence is empty
<phoe> to produce the neutral element in that case, like (+) ;=> 0
<phoe> so that (reduce #'+ '()) behaves consistently and retval types are respected and all that
<phoe> ober: regarding your nested hashes, (ql:quickload :access) and check the access manual
Lumine has quit [Quit: bbl]
<pve> ober: Now is my time to shine ;) https://github.com/pve1/proto-dot
<ixelp> GitHub - pve1/proto-dot
<pve> (skip to the last section to avoid the blahblah)
Guest63 has quit [Quit: Client closed]
amoroso has quit [Quit: Client closed]
amoroso has joined #commonlisp
<phoe> pve: hey that's another arrow macro library
Gleefre has quit [Remote host closed the connection]
Gleefre has joined #commonlisp
<pve> phoe: Yeah, kind of, I think, except the idea here is to build custom macros, not provide the one true arrow macro
<phoe> yes I see
<pve> so you can pretty easily make something like (tree-arrow my-tree :left :right (+ 1 <>) print) where :left and :right mean something specific to your trees, but the (+ 1 <>) you get for "free", if you want.
<phoe> nice
<pve> or at least, that's the idea, I'm still testing it out to see how I like it
Lumine has joined #commonlisp
<pve> in ober's case, he could make a string in the path map to a gethash, like (ober-dot object "userIdentity" "sessionContext" "userName" (string= "ober"))
eddof13 has joined #commonlisp
_cymew_ has quit [Ping timeout: 255 seconds]
masinter has joined #commonlisp
dlowe has quit [Remote host closed the connection]
dlowe has joined #commonlisp
<pjb> with a reader macro you could write #>object.userIdentity.sessionContext.sessionIssuer.userName
random-nick has quit [Ping timeout: 255 seconds]
jeosol has quit [Quit: Client closed]
splatt990 has joined #commonlisp
random-nick has joined #commonlisp
dlowe has quit [Ping timeout: 246 seconds]
<NotThatRPG> SBCL package lock question: I want to bind (with flet) FIVEAM:IS-TRUE in a form (because annoyingly one can't easily test FiveAM test definitions at the repl). When I do I get a package lock violation. OK, so I wrap my test in (sb-ext:with-unlocked-packages (IT.BESE.FIVEAM) ...) but then I *still* get a package lock violation. What am I doing wrong
<pve> NotThatRPG: the entire form is read before the package is unlocked
<pve> oh nevermind
<NotThatRPG> pve: Hm. It seems like what I am trying to do would be exactly what that macro is for...
<yitzi> Are you passing the symbol IT.BESE.FIVEAM? Its unclear,
cage has quit [Quit: rcirc on GNU Emacs 28.2]
<yitzi> And, also since flet binds at eval not compile-time it will matter where the unlock is.
amoroso has quit [Ping timeout: 260 seconds]
<NotThatRPG> yitzi: Yes, passing the symbol. Figured that was right since this is a macro
<pve> so the unlock should be inside the test?
<_death> but why bind fiveam:is-true and not your own is-true
<yitzi> NotThatRPG: Did you try `:it.bese.fiveam`?
<NotThatRPG> _death: I'm working in a package that USEs FIVEAM
<yitzi> pve: The unlock may need to wrap the flet itself.
<NotThatRPG> yitzi: No, I will try that.
<_death> NotThatRPG: so you can shadow that symbol and have it expand to fiveam:is-true by default
yvm has quit [Ping timeout: 255 seconds]
<NotThatRPG> _death: That's a good idea but ... this is awfully fussy for "my test is failing and I don't know why, now I will see what individual sub-expressions evaluate to." I wish that FiveAM had defined the IS macros to do something plausible (PRINC?) when *NOT* in the scope of TEST
Lumine has quit [Quit: sleep]
<NotThatRPG> It's a great thing that pytest just uses ASSERT, instead of forcing us to inject non-standard code into a test expression as FiveAM does
<pve> NotThatRPG: Did you know that fiveam has a *run-test-when-defined* variable? It means that C-c C-c will run the test. Very convenient!
<NotThatRPG> pve: Yes, but it still doesn't help us run only individual bits of code inside the test. To do that one would like to cut and paste bits of code out of the test and into the repl. But that is broken because of the presence of expressions like (IS-TRUE ...)
<pve> oh, ok I see
karlosz has quit [Ping timeout: 252 seconds]
<NotThatRPG> with-fixture works properly even when not inside a test, but not the IS stuff.
<NotThatRPG> it's not a tragedy, but it makes things more time-consuming than necessary to debug
karlosz has joined #commonlisp
<pve> can you shadow is-true etc to do different things depending on whether the test is being run?
<pve> i mean like (if fiveam:*test-is-being-run* `(fiveam:is-true ...) `(princ ...))
<_death> NotThatRPG: (I never used fiveam but) maybe if you provide fiveam maintainers with a patch they will accept :)
<NotThatRPG> _death: Yes, I think I will probably do that...
<NotThatRPG> (have done it before)
<_death> it's now 00:0fiveam
<_death> (here)
<pve> this "early morning hours" is the best naming scheme ever, can't wait for 2am, 3am, 00:05am etc
akoana has quit [Quit: leaving]
Gleefre has quit [Remote host closed the connection]
Gleefre has joined #commonlisp
<_death> my bias was showing.. I guess it should've been 12:0fiveam
<pve> hackers get the am frameworks, corporate users get a "5pm" framework :)
<masinter> NotThatRPG are you running benchmarks?
<masinter> i'm wondering what happened to RPG
<hayley> 7am would be early for me these days.
<Shinmera> I guess Parachute users aren't hackers. Sorry everyone :(
<NotThatRPG> masinter: No, why do you ask?
<hayley> The other RPG did.
varjag has quit [Quit: ERC 5.4.1 (IRC client for GNU Emacs 29.0.50)]
<_death> when a parachute doesn't open we say that it's a "candle dive".. I guess that could describe unexpected test failures
<ixelp> Performance of Lisp systems | Proceedings of the 1982 ACM symposium on LISP and functional programming
<masinter> it was a terrible paper but hardly anything had been written on the subject
<hayley> I still haven't many benchmarks which stress the garbage collector. Only Kandria and a synthetic benchmark for latency, and Regrind and a synthetic benchmark (boehm-gc in cl-bench) for throughput.
rgherdt has quit [Remote host closed the connection]
floren has quit [Quit: Client closed]
<phoe> Kandria as a GC stress test
<phoe> nice
<hayley> There was a joke in Java circles about making Minecraft a GC benchmark. And people do file performance issues in the game as bugs for OpenJ9.
<_death> wasn't there a minecraft clone in CL? maybe that also can serve the function
Gleefre has quit [Remote host closed the connection]
Gleefre has joined #commonlisp
<ixelp> GitHub - gregcman/sucle: Common Lisp Voxel Game Engine
<hayley> I guess so, but the joke is more about allocation rate and really stressing the collector.
pve has quit [Quit: leaving]
Everything has joined #commonlisp
empwilli has quit [Ping timeout: 268 seconds]
jeosol has joined #commonlisp
jon_atack has joined #commonlisp
Gleefre has quit [Remote host closed the connection]
Gleefre has joined #commonlisp
robin has quit [Read error: Connection reset by peer]
jonatack has quit [Ping timeout: 246 seconds]
karlosz has quit [Quit: karlosz]
karlosz has joined #commonlisp
empwilli has joined #commonlisp
karlosz has quit [Ping timeout: 252 seconds]
LW has quit [Quit: WeeChat 3.6]
occ has quit [Ping timeout: 268 seconds]
karlosz has joined #commonlisp
karlosz has joined #commonlisp
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
eddof13 has joined #commonlisp
robin has joined #commonlisp
Gleefre has quit [Remote host closed the connection]
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
morganw has quit [Remote host closed the connection]
Gleefre has joined #commonlisp