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/> | News: ELS'22 this Monday (2022-03-21), see https://european-lisp-symposium.org
igemnace has joined #commonlisp
irc_user has joined #commonlisp
lisp123 has joined #commonlisp
lisp123 has quit [Ping timeout: 246 seconds]
pseigo has quit [Ping timeout: 272 seconds]
knusbaum has quit [Ping timeout: 246 seconds]
knusbaum has joined #commonlisp
jack_rabbit has joined #commonlisp
knusbaum has quit [Ping timeout: 264 seconds]
mon_aaraj has quit [Ping timeout: 255 seconds]
mon_aaraj has joined #commonlisp
pillton has joined #commonlisp
asarch has joined #commonlisp
yauhsien has joined #commonlisp
ad-absurdum has quit [Quit: Leaving]
random-nick has quit [Ping timeout: 255 seconds]
asarch has quit [Quit: Leaving]
igemnace has quit [Remote host closed the connection]
yauhsien has quit [Ping timeout: 260 seconds]
sjl has joined #commonlisp
notzmv has quit [Ping timeout: 240 seconds]
mon_aaraj has quit [Ping timeout: 240 seconds]
mon_aaraj has joined #commonlisp
<mixotricha> Hello everyone. Question. What is a good lisp library for generating hash ids? Strings of the form xxxx-xxxx-xxxx-xxxxxxxxx. Tried to search google for something like sha256 library. Don't seem to be searching for the right thing.
waleee has quit [Ping timeout: 255 seconds]
yauhsien has joined #commonlisp
<hayley> Those look a bit like UUIDs, though UUIDs aren't "hashes" like SHA-256 generates a hash.
<mixotricha> Thanks hayley. Tired old brain was looking for the right word:)
surabax has quit [Ping timeout: 248 seconds]
notzmv has joined #commonlisp
pseigo has joined #commonlisp
yauhsien has quit [Ping timeout: 246 seconds]
recordgroovy has left #commonlisp [#commonlisp]
perrierjouet has quit [Quit: WeeChat 3.5]
perrierjouet has joined #commonlisp
pseigo has quit [Ping timeout: 255 seconds]
lisp123 has joined #commonlisp
lisp123 has quit [Read error: Connection reset by peer]
lisp123 has joined #commonlisp
lisp123 has quit [Ping timeout: 246 seconds]
pseigo has joined #commonlisp
pseigo has quit [Ping timeout: 246 seconds]
pseigo has joined #commonlisp
Bike has quit [Quit: Lost terminal]
pseigo has quit [Ping timeout: 240 seconds]
perrierjouet has quit [Quit: WeeChat 3.5]
perrierjouet has joined #commonlisp
akoana has quit [Quit: leaving]
mon_aaraj has quit [Ping timeout: 264 seconds]
mon_aaraj has joined #commonlisp
mon_aaraj has quit [Ping timeout: 268 seconds]
mon_aaraj has joined #commonlisp
livoreno has joined #commonlisp
pseigo has joined #commonlisp
yauhsien has joined #commonlisp
mon_aaraj has quit [Ping timeout: 255 seconds]
mon_aaraj has joined #commonlisp
kiki_lamb has joined #commonlisp
yauhsien has quit [Ping timeout: 272 seconds]
tyson2 has quit [Remote host closed the connection]
jmdaemon has quit [Ping timeout: 240 seconds]
robin has quit [Quit: Leaving]
robin has joined #commonlisp
<drmeister> I have this: `(format t "~{~a $~a ~}~%" '(-a -a -b -b -c -c))`. Is there a way to simplify it so I can reuse the list element?
<drmeister> `(format t "~{~a $<SOMETHING>~a ~}~%" '(-a -b -c))`
<drmeister> I thought there was a format control that lets me backup and reuse the last list element.
<drmeister> For crying out loud - I can't find it.
<drmeister> Does some kind soul know what it is off the top of their head?
<drmeister> Or if it doesn't exist and I can stop looking.
<contrapunctus> drmeister: I need to check in the CLHS but it might be `~1`/`~2`
lisp123 has joined #commonlisp
<contrapunctus> Oh, no
lisp123 has quit [Read error: Connection reset by peer]
lisp123 has joined #commonlisp
<drmeister> Thanks for responding. I could also use this; `(format t "~:{~a $~a ~}~%" '((-a -a) (-b -b) (-c -c)))` - it's easier to generate a list of two element lists with mapcar.
<drmeister> Magic colons
<mrcom> drmeister: ~*
lisp123 has quit [Ping timeout: 246 seconds]
<drmeister> There we go - thank you kind strangers.
causal has quit [Quit: WeeChat 3.5]
yauhsien has joined #commonlisp
yauhsien has quit [Ping timeout: 255 seconds]
Colere has quit [Ping timeout: 268 seconds]
<kagevf> ~@[~a~]
hineios3 has joined #commonlisp
hineios has quit [Ping timeout: 246 seconds]
hineios3 is now known as hineios
Fare has quit [Ping timeout: 255 seconds]
yauhsien has joined #commonlisp
<drmeister> That's the conditional control
<drmeister> clhs 22.3.7.2
<specbot> Tilde Left-Bracket: Conditional Expression: http://www.lispworks.com/reference/HyperSpec/Body/22_cgb.htm
irc_user has quit [Quit: Connection closed for inactivity]
<drmeister> I think I see - if the argument is true then it isn't consumed.
yauhsien has quit [Ping timeout: 272 seconds]
terrorjack has quit [Ping timeout: 272 seconds]
jmiven has quit [Ping timeout: 272 seconds]
terrorjack has joined #commonlisp
jmiven has joined #commonlisp
pseigo has quit [Quit: left]
pseigo has joined #commonlisp
igemnace has joined #commonlisp
attila_lendvai has joined #commonlisp
lisp123 has joined #commonlisp
tomato0ne_ has joined #commonlisp
lisp123 has quit [Ping timeout: 268 seconds]
Guest1988 is now known as jmpeax
Fare has joined #commonlisp
asarch has joined #commonlisp
ttree has quit [Ping timeout: 240 seconds]
shka has joined #commonlisp
Fare has quit [Quit: Leaving]
_cymew_ has joined #commonlisp
_cymew_ has quit [Client Quit]
_cymew_ has joined #commonlisp
MajorBiscuit has joined #commonlisp
asarch has quit [Quit: Leaving]
TimoT has joined #commonlisp
Josh_2 has joined #commonlisp
<TimoT> Morning. Is there a limit on the size of the case statement in CL? I have a case where macros generate relatively large statements (hundreds of cases) and SBCL chokes.
<pjb> TimoT: theorically, none. In practice, the compiler will probably have a hard time if it has to generate a code vector bigger than array-total-size-limit or the available memory.
<TimoT> In this case SBCL runs out of the control stack at 200+ statements, which seems low to me.
pseigo has quit [Quit: left]
pseigo has joined #commonlisp
<pjb> ccl goes at least up to 256: https://termbin.com/1tea
<TimoT> I ran into this while converting some Vulkan headers to sb-alien and Vulkan uses enums to get more type safety over define constants. For example, the structure type tag is an enum and there are a few hundred structs in Vulkan at present.
<Josh_2> Good Morning COOOOO people :sunglasses:
<TimoT> Digging into the SBCL source it seems that enums are implemented as either a plist or simple vector, but conversion from an enum tag is a large ecase.
Glaucon has joined #commonlisp
<TimoT> Unless the compiler can actually optimize the ecase expression lookup, it's going to be slow as well. Perhaps for large enums a hash table or some tree lookup would be more appropriate.
<TimoT> Or a binary search over an array if the keys can be ordered in that manner.
Th30n has joined #commonlisp
vindarel has joined #commonlisp
yauhsien has joined #commonlisp
rendar has joined #commonlisp
rendar has quit [Changing host]
rendar has joined #commonlisp
vindarel has quit [Quit: Client closed]
yauhsien has quit [Ping timeout: 264 seconds]
rodicm has joined #commonlisp
<beach> TimoT: Did you check the SBCL documentation to see whether it is possible to increase the stack size when you start the SBCL process?
<beach> TimoT: Also, we don't use the term "statement" for that purpose. We usually refer to them as "form"s. There are only a few places in the standard where a form is considered a "statement". One is in a TAGBODY, but I forget the others.
<TimoT> Yes it is possible. It seems weird to me though that the standard stack size would not be able to compile a case of 256.
<beach> I am not terribly surprised.
cage has joined #commonlisp
<TimoT> It seems though that the case lookup is optimized using symbol hashes (code/macros.lisp).
pranavats has left #commonlisp [Error from remote client]
attila_lendvai has quit [Ping timeout: 268 seconds]
attila_lendvai has joined #commonlisp
<Shinmera> You know, probably something that should be discussed in #sbcl instead.
<TimoT> Sure. I filed a bug report as well.
<TimoT> There used to be a lot more SBCL chatter on #lisp during freenode times, iirc.
<Shinmera> There's still chatter about it here, but you're more likely to stir up useful discussion in the right channel, since maintainers don't read all of this channel.
<beach> TimoT: The CASE operator in Common Lisp is restricted so that keys are not evaluated, and so that the comparison can be EQ or EQL. This restrictions allows the compiler to optimize it in various ways.
attila_lendvai has quit [Ping timeout: 255 seconds]
attila_lendvai_ has joined #commonlisp
_cymew_ has quit [Ping timeout: 256 seconds]
<TimoT> beach: Yes. I'm now reading the SBCL implementation, which as mentioned appears to use sxhash to split the keys into buckets, but there are various special cases. It's a bit hairy.
mrvdb has quit [Quit: ZNC 1.8.2 - https://znc.in]
mrvdb- has joined #commonlisp
<beach> Right. Since all the keys are available at compile time, it is possible to do perfect hashing and things like that.
<_death> TimoT: but do you really need a CASE there? code is generated both for the dispatch and the body forms.. but if there are hundreds of clauses, the forms in each clause are probably similar, may not need to be duplicated
attila_lendvai_ is now known as attila_lendvai
<TimoT> _death: No, a case is not necessary. It's just that a straightforward conversion of C enum -> sb:alien enum hits this problem. I was thinking of hacking the translator to produce some alternative solution (not sb-alien:enum) to avoid being stuck here. It's a hobby project.
<TimoT> I have a very old (10 years give or take) piece of code that used to go from gcc-xml to sb-alien, I just quickly updated it to use cast-xml. I guess nowadays using clang directly would be the way to go for these.
<_death> TimoT: as a macro writer you need to think about generated code size.. with CASE there's also the issue of a potentially linear scan.. wouldn't a simple function that performs the dispatch like (funcall (get-associated-function x)) work?
mon_aaraj has quit [Ping timeout: 268 seconds]
<TimoT> _death: The macro in question here is actually from SBCL's sb-alien implementation, so how SBCL implements code for C style enums.
mon_aaraj has joined #commonlisp
<_death> I see.. my comment still applies though :)
<Shinmera> Does cffi:defcenum hit the same issue?
pranavats has joined #commonlisp
<TimoT> Shinmera: At a quick glance it seems to use hash tables, so no.
<Shinmera> Right, I thought so.
<Shinmera> cl-opengl definitely has enums that have that many or more keys and that works fine.
infra_red[m] has quit [Quit: You have been kicked for being idle]
lisp123 has joined #commonlisp
rogersm has joined #commonlisp
<TimoT> Shinmera: There's also some sort of vulkan binding in cl-vulkan. I don't know how up to date it is though. Doesn't matter that much for this use case as I'm mostly interested in embedding some compute stuff in CL.
<Shinmera> |3b| is probably the best person to talk to about this kinda stuff :)
pranavats has left #commonlisp [Error from remote client]
_cymew_ has joined #commonlisp
Josh_2 has quit [Ping timeout: 246 seconds]
tedwing has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
notzmv has quit [Ping timeout: 255 seconds]
rogersm has quit [Quit: Leaving...]
azimut has joined #commonlisp
lisp123 has joined #commonlisp
rendar has quit [Quit: Leaving]
lisp123 has quit [Ping timeout: 268 seconds]
Th30n has quit [Ping timeout: 264 seconds]
knobo has joined #commonlisp
rendar has joined #commonlisp
rendar has joined #commonlisp
rendar has quit [Changing host]
lisp123 has joined #commonlisp
frgo has quit [Read error: Connection reset by peer]
igemnace has quit [Ping timeout: 272 seconds]
rodicm has quit [Ping timeout: 255 seconds]
pillton has quit [Remote host closed the connection]
lisp123 has quit [Quit: Leaving...]
<flip214> www.xach.com: SEC_ERROR_EXPIRED_CERTIFICATE
tyson2 has joined #commonlisp
random-nick has joined #commonlisp
rodicm has joined #commonlisp
Oddity has quit [Ping timeout: 255 seconds]
pseigo has quit [Ping timeout: 260 seconds]
dBc has joined #commonlisp
tfb has joined #commonlisp
igemnace has joined #commonlisp
pseigo has joined #commonlisp
dBc has quit [Quit: leaving]
notzmv has joined #commonlisp
mon_aaraj has quit [Ping timeout: 268 seconds]
igemnace has quit [Quit: WeeChat 3.5]
mon_aaraj has joined #commonlisp
igemnace has joined #commonlisp
Th30n has joined #commonlisp
surabax has joined #commonlisp
rogersm has joined #commonlisp
rodicm has quit [Ping timeout: 256 seconds]
scymtym has joined #commonlisp
pseigo has quit [Quit: left]
pseigo has joined #commonlisp
mon_aaraj has quit [Ping timeout: 255 seconds]
mon_aaraj has joined #commonlisp
_cymew_ has quit [Quit: Konversation terminated!]
treflip has joined #commonlisp
treflip has quit [Remote host closed the connection]
mon_aaraj has quit [Ping timeout: 246 seconds]
mon_aaraj has joined #commonlisp
yauhsien has joined #commonlisp
yauhsien has quit [Remote host closed the connection]
pseigo has quit [Ping timeout: 240 seconds]
yauhsien has joined #commonlisp
TimoT has quit [Quit: Leaving]
yauhsien has quit [Ping timeout: 255 seconds]
frgo has joined #commonlisp
frgo has quit [Remote host closed the connection]
frgo has joined #commonlisp
tedwing has quit [Ping timeout: 248 seconds]
Everything has joined #commonlisp
dBc has joined #commonlisp
mon_aaraj has quit [Ping timeout: 264 seconds]
mon_aaraj has joined #commonlisp
Bike has joined #commonlisp
azimut_ has joined #commonlisp
azimut has quit [Ping timeout: 268 seconds]
rodicm has joined #commonlisp
GNU\Andrew has quit [Quit: Leaving]
Andrew has joined #commonlisp
yauhsien has joined #commonlisp
yauhsien has quit [Ping timeout: 268 seconds]
livoreno has quit [Ping timeout: 260 seconds]
Th30n has quit [Quit: WeeChat 3.5]
nijj has joined #commonlisp
tedwing has joined #commonlisp
Cymew has quit [Ping timeout: 272 seconds]
<rdrg109_> beach: Yes, I saw your answer, sorry for the ñ
<rdrg109_> sorry for the late reply*
<rdrg109_> I was going to answer with more questions about your answer, but I was ln a solved the root problem, so there was no need to answer the question I asked.
<rdrg109_> ln a× -> I was in a rush
<pjb> Do you use some kind of OCR?
pranavats has joined #commonlisp
pseigo has joined #commonlisp
<beach> rdrg109_: Got it.
Glaucon has quit [Quit: WeeChat 3.5]
tomato0ne_ has quit [Quit: Leaving]
nijj has left #commonlisp [ERC 5.4 (IRC client for GNU Emacs 28.1)]
jeffrey has joined #commonlisp
pseigo has quit [Ping timeout: 264 seconds]
livoreno has joined #commonlisp
rodicm has quit [Ping timeout: 240 seconds]
orestarod has joined #commonlisp
pseigo has joined #commonlisp
waleee has joined #commonlisp
cel7t has joined #commonlisp
rogersm has quit [Quit: Leaving...]
dBc has quit [Quit: leaving]
pseigo has quit [Ping timeout: 240 seconds]
rodicm has joined #commonlisp
kpoeck has joined #commonlisp
Everything has quit [Quit: leaving]
tfb has quit [Quit: died]
thomaslewis has joined #commonlisp
tedwing has quit [Ping timeout: 240 seconds]
pseigo has joined #commonlisp
tedwing has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
szkl has joined #commonlisp
pseigo has quit [Ping timeout: 246 seconds]
tedwing has quit [Ping timeout: 268 seconds]
jeffrey has quit [Quit: Client quit]
rodicm has quit [Ping timeout: 240 seconds]
MajorBiscuit has quit [Ping timeout: 246 seconds]
atgreen has joined #commonlisp
ttree has joined #commonlisp
yauhsien has joined #commonlisp
yauhsien has quit [Remote host closed the connection]
yauhsien has joined #commonlisp
saura has joined #commonlisp
kpoeck has quit [Quit: Client closed]
yauhsien has quit [Ping timeout: 255 seconds]
saura has quit [Ping timeout: 268 seconds]
causal has joined #commonlisp
makomo has joined #commonlisp
pseigo has joined #commonlisp
tyson2 has joined #commonlisp
Oddity has joined #commonlisp
santiagopim has joined #commonlisp
pseigo has quit [Ping timeout: 272 seconds]
n1to has joined #commonlisp
tedwing has joined #commonlisp
Colere has joined #commonlisp
yauhsien has joined #commonlisp
pseigo has joined #commonlisp
yauhsien has quit [Ping timeout: 256 seconds]
saura has joined #commonlisp
tedwing has quit [Quit: leaving]
saura has quit [Ping timeout: 255 seconds]
Dynom has joined #commonlisp
pseigo has quit [Ping timeout: 264 seconds]
waleee has quit [Ping timeout: 240 seconds]
waleee has joined #commonlisp
masinter has quit [Quit: ~ Trillian - www.trillian.im ~]
pseigo has joined #commonlisp
yauhsien has joined #commonlisp
yauhsien has quit [Ping timeout: 255 seconds]
morganw has joined #commonlisp
asarch has joined #commonlisp
makomo has quit [Ping timeout: 240 seconds]
pseigo has quit [Ping timeout: 255 seconds]
jeffrey has joined #commonlisp
Brucio-61 has quit [Read error: Connection reset by peer]
edgar-rft has quit [Read error: Connection reset by peer]
edgar-rft has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
Brucio-61 has joined #commonlisp
makomo has joined #commonlisp
livoreno has quit [Ping timeout: 255 seconds]
rodicm has joined #commonlisp
yauhsien has joined #commonlisp
mon_aaraj has quit [Ping timeout: 256 seconds]
mon_aaraj has joined #commonlisp
saura has joined #commonlisp
rodicm has quit [Quit: Leaving]
yauhsien has quit [Ping timeout: 255 seconds]
saura has quit [Ping timeout: 240 seconds]
cage has quit [Quit: rcirc on GNU Emacs 27.1]
knobo has quit [Ping timeout: 252 seconds]
thuna` has joined #commonlisp
mon_aaraj has quit [Ping timeout: 255 seconds]
mon_aaraj has joined #commonlisp
MajorBiscuit has joined #commonlisp
tfeb has joined #commonlisp
tyson2 has joined #commonlisp
tfeb has quit [Client Quit]
MajorBiscuit has quit [Quit: WeeChat 3.5]
asarch has quit [Quit: Leaving]
mon_aaraj has quit [Ping timeout: 255 seconds]
thuna` has quit [Remote host closed the connection]
tyson2 has quit [Remote host closed the connection]
thuna` has joined #commonlisp
epolanski has joined #commonlisp
tyson2 has joined #commonlisp
kpoeck has joined #commonlisp
Dynom has quit [Quit: WeeChat 3.5]
pseigo has joined #commonlisp
theBlackDragon has quit [Remote host closed the connection]
theBlackDragon has joined #commonlisp
perrierjouet has quit [Quit: WeeChat 3.5]
azimut_ has quit [Remote host closed the connection]
azimut has joined #commonlisp
sloanr has joined #commonlisp
son0p has quit [Remote host closed the connection]
pseigo has quit [Quit: left]
pseigo has joined #commonlisp
yauhsien has joined #commonlisp
kpoeck has quit [Quit: Client closed]
pseigo has quit [Ping timeout: 246 seconds]
yauhsien has quit [Ping timeout: 256 seconds]
perrierjouet has joined #commonlisp
makomo has quit [Ping timeout: 268 seconds]
igemnace has quit [Remote host closed the connection]
waleee has quit [Ping timeout: 268 seconds]
makomo has joined #commonlisp
waleee has joined #commonlisp
pranavats has left #commonlisp [Error from remote client]
waleee has quit [Ping timeout: 260 seconds]
akoana has joined #commonlisp
pranavats has joined #commonlisp
gxt_ has joined #commonlisp
gxt has quit [Remote host closed the connection]
shka has quit [Ping timeout: 256 seconds]
n1to has quit [Ping timeout: 240 seconds]
attila_lendvai has quit [Ping timeout: 246 seconds]
igemnace has joined #commonlisp
saura has joined #commonlisp
ttree has quit [Ping timeout: 256 seconds]
saura has quit [Ping timeout: 268 seconds]
waleee has joined #commonlisp
azimut_ has joined #commonlisp
azimut has quit [Ping timeout: 268 seconds]
waleee has quit [Ping timeout: 246 seconds]
mixotricha has quit [Quit: Client closed]
random-nick has quit [Ping timeout: 268 seconds]
yauhsien has joined #commonlisp
Lord_of_Life_ has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 268 seconds]
Lord_of_Life_ is now known as Lord_of_Life
yauhsien has quit [Ping timeout: 255 seconds]
CrashTestDummy has joined #commonlisp
CrashTestDummy has quit [Quit: Leaving]