kevingal has quit [Remote host closed the connection]
<Guest74>
Never trust shell commands? That's a funny stance, considering how often people have problems with ffi and linux is pretty much built on cli.
lisp123 has joined #commonlisp
thegreatcatadore has joined #commonlisp
thegreatcatadore has quit [Client Quit]
lisp123 has quit [Ping timeout: 245 seconds]
random-nick has quit [Ping timeout: 240 seconds]
ebrasca has quit [Remote host closed the connection]
igemnace has joined #commonlisp
<hashfuncadb>
Guest74: do ffi calls mainly end up as cli calls? i've never used ffi before
<Guest74>
nope. i think people have problems, besides the usual ffi problems because programs tend to keep a consistent command line interface and change their c/c++ interface a lot more.
<Guest74>
in lots of other languages a lot of people use cli as well. for example writing frontends for ffmpeg or mplayer.
<Guest74>
I wrote a simple shell interface for mplayer and it works no matter what changes they make to the codebase. Even works on mpv!
waleee has quit [Ping timeout: 272 seconds]
waleee has joined #commonlisp
<hashfuncadb>
that's a good point
igemnace has quit [Remote host closed the connection]
waleee has quit [Ping timeout: 240 seconds]
Bike has quit [Quit: Lost terminal]
waleee has joined #commonlisp
Bike has joined #commonlisp
<hashfuncadb>
Guest74: although, where would you draw the line between using ffi and cli for speed-efficiency reasions? do you know offhand of any examples where utilizing ffi over cli is like 10x faster (more or less)?
<Guest74>
usually for things that don't have a cli, probably for speed reasons.
Oladon has quit [Quit: Leaving.]
blacked has joined #commonlisp
newblue has quit [Ping timeout: 252 seconds]
zacque has quit [Quit: Goodbye :D]
blacked has left #commonlisp [#commonlisp]
waleee has quit [Ping timeout: 260 seconds]
lisp123 has joined #commonlisp
<hashfuncadb>
in a MULTIPLE-VALUE-BIND statement how do you ignore the first value?
<hashfuncadb>
meaning i'm not going to be using the first value, so i don't want to bind it, but using NIL won't work (multiple-value-bind (nil myvar) variables ...)
<Bike>
you can put in a declare ignore
<Bike>
and if you just want one value, you can just use nth-value instead
<hashfuncadb>
Bike: ah true. thanks
eddof13 has joined #commonlisp
<Guest74>
hashfuncadb: out of curiosity what are you working on?
waleee has joined #commonlisp
Bike has quit [Read error: Connection reset by peer]
akoana has quit [Quit: leaving]
Bike has joined #commonlisp
waleee has quit [Ping timeout: 240 seconds]
lisp123 has quit [Remote host closed the connection]
razetime has joined #commonlisp
waleee has joined #commonlisp
s-liao has joined #commonlisp
waleee has quit [Ping timeout: 240 seconds]
Bike has quit [Read error: Connection reset by peer]
Bike has joined #commonlisp
Inline__ has joined #commonlisp
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Inline has quit [Ping timeout: 240 seconds]
lisp123 has joined #commonlisp
igemnace has joined #commonlisp
<lisp123>
Working in other languages, I really miss structured editing in Lisp
mfiano_ has joined #commonlisp
mfiano has quit [Ping timeout: 256 seconds]
mfiano_ is now known as mfiano
lisp123 has quit [Remote host closed the connection]
Catie has quit [Quit: heading home]
s-liao has quit [Quit: Client closed]
s-liao has joined #commonlisp
Bike has quit [Read error: Connection reset by peer]
Bike has joined #commonlisp
mfiano has quit [Ping timeout: 272 seconds]
Bike has quit [Read error: Connection reset by peer]
Bike has joined #commonlisp
s-liao has quit [Ping timeout: 256 seconds]
karlosz has joined #commonlisp
lisp123 has joined #commonlisp
lisp123 has quit [Ping timeout: 250 seconds]
thegreatcatadore has joined #commonlisp
<beach>
Good morning everyone!
hashfuncadb has quit [Ping timeout: 240 seconds]
unyu has quit [Quit: brb]
Bike has quit [Read error: Connection reset by peer]
Bike has joined #commonlisp
semz_ has joined #commonlisp
robin has quit [Read error: Connection reset by peer]
semz has quit [Ping timeout: 250 seconds]
robin has joined #commonlisp
<Devon>
Good night all.
s-liao has joined #commonlisp
Bike has quit [Read error: Connection reset by peer]
Bike has joined #commonlisp
s-liao has quit [Quit: Client closed]
Bike has quit [Read error: Connection reset by peer]
tyson2 has quit [Remote host closed the connection]
<aeth>
Any chance of making a Portacle Flatpak? For Flathub. Both GNOME and KDE seem to be pushing Flatpaks these days and it seems to be the preferred way (via "Discover"?) to install software on KDE Plasma, in particular things shipping with KDE hardware. https://kde.org/hardware/
<aeth>
It doesn't look like my distro enables Flatpak by default in KDE Plasma's Discover app, but it's just one button to "Enable Flathub" in the settings.
semz_ has quit [Remote host closed the connection]
robin has quit [Remote host closed the connection]
semz_ has joined #commonlisp
Guest74 has quit [Ping timeout: 250 seconds]
robin has joined #commonlisp
jsatk__ has quit [Ping timeout: 250 seconds]
<aeth>
pretty much everyone trying to use the Linux desktop mode of the Steam Deck used Flathub to install software.
IUSR has quit [Ping timeout: 250 seconds]
drmeister has quit [Ping timeout: 250 seconds]
<aeth>
(through KDE Plasma's "Discover" app)
splittist has quit [Read error: Connection reset by peer]
Bike has left #commonlisp [#commonlisp]
iisi has quit [Read error: Connection reset by peer]
splittist has joined #commonlisp
jsatk__ has joined #commonlisp
iisi has joined #commonlisp
drmeister has joined #commonlisp
IUSR has joined #commonlisp
lonjil has quit [Remote host closed the connection]
lonjil has joined #commonlisp
aartaka has joined #commonlisp
aartaka has quit [Read error: Connection reset by peer]
aartaka has joined #commonlisp
aartaka has quit [Ping timeout: 240 seconds]
aartaka has joined #commonlisp
s-liao has quit [Quit: Client closed]
lisp123 has joined #commonlisp
karlosz has quit [Quit: karlosz]
aartaka has quit [Ping timeout: 256 seconds]
lisp123 has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
aartaka has joined #commonlisp
unyu has joined #commonlisp
thegreatcatadore has quit [Quit: thegreatcatadore]
mfiano has joined #commonlisp
euandreh has quit [Ping timeout: 250 seconds]
euandreh has joined #commonlisp
mfiano has quit [Ping timeout: 272 seconds]
dre has joined #commonlisp
mfiano has joined #commonlisp
mfiano has quit [Ping timeout: 252 seconds]
mfiano has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
mfiano has quit [Ping timeout: 272 seconds]
mfiano has joined #commonlisp
aartaka has quit [Ping timeout: 252 seconds]
aartaka has joined #commonlisp
mfiano has quit [Client Quit]
* travv0
hey all, i've been working with CL after a long absence and while using Windows have run into some gaps that've caused me to i've learned me some CFFI, specifically for modifying file times and checking for symlinks (reparse points in windows lingo)
<travv0>
whelp, that sent early and in italics but i think the gist is there
<travv0>
actually it's not, is there a library i could contribute that stuff to?
<travv0>
just looking for a place the average CL user is pointed to for filesystem stuff i guess since i'm a bit out of the loop
igemnace has quit [Quit: WeeChat 3.4]
silasfox has joined #commonlisp
<easye>
travv0: if you are on SBCL/Linux, libio exposes a lot of POSIX stuff, and can be used as a template for further access.
<easye>
travv0: I guess your use case involves manipulating the various Windows APIs for a use "outside" of CL.
<easye>
If you just need to manipulate files in CL, ASDF/UIOP probably has the go-to abstraction for loading resources it can address which abstracts the file times/symlink stuff.
<easye>
For Windows APIs there are undoubtedly specialized CFFI abstractions but I don't have any familiarity of them to speak of.
lisp123 has quit [Remote host closed the connection]
<easye>
And ASDF can be extended via CLOS to address the loading of new kinds of resources for a given CL process.
aartaka has quit [Read error: Connection reset by peer]
Alfr has joined #commonlisp
aartaka has joined #commonlisp
aartaka has quit [Ping timeout: 252 seconds]
aartaka has joined #commonlisp
tyson2 has joined #commonlisp
razetime has joined #commonlisp
aartaka has quit [Read error: Connection reset by peer]
aartaka has joined #commonlisp
utis has quit [Ping timeout: 250 seconds]
utis has joined #commonlisp
amb007 has quit [Ping timeout: 272 seconds]
amb007 has joined #commonlisp
<beach>
I think I almost finished the slides for my ELS talk on the lexical environment protocol implemented by Trucler: http://metamodular.com/SICL/environment-info-talk.pdf I take remarks, of course, but keep in mind that I will be taking around them, so they are not self contained. Some things are missing I think, but I'll fix those before ELS.
attila_lendvai has joined #commonlisp
perrierjouet has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
tyson2 has joined #commonlisp
aartaka has quit [Ping timeout: 272 seconds]
aartaka has joined #commonlisp
perrierjouet has quit [Quit: WeeChat 3.4]
perrierjouet has joined #commonlisp
silasfox has quit [Quit: WeeChat 3.4]
mgl has joined #commonlisp
perrierjouet has quit [Quit: WeeChat 3.4]
perrierjouet has joined #commonlisp
<random-nick>
there's a typo on slide 23 (problme instead of problem)
<beach>
Thanks.
<beach>
fixed! Thanks again.
thegreatcatadore has joined #commonlisp
amb007 has quit [Ping timeout: 256 seconds]
<VincentVega>
Hi all. How can I check if a struct slot is packed (or what was that word)? For instance, how can I check if (vector double-float 2) will be fully contained in a struct?
<VincentVega>
Also, are there any ways at all of parametrizing structs (+ generic functions)? The best I can think of is defining my own defstruct and defmethod which would work kind of like templates in C++, and the struct names would be appended with type names. Perhaps, there are existing solutions or libraries attempting/emulating that?
amb007 has joined #commonlisp
<Xach>
VincentVega: i don't think any implementation would do the former. i would be very interested in hearing otherwise.
<beach>
VincentVega: Common Lisp uses what I call "uniform reference semantics", so a vector would be contained in a struct by having a reference to it in the slot.
s-liao has joined #commonlisp
<VincentVega>
Xach: beach: understood, thank you!
<beach>
Sure.
<froggey>
Mezzano has an extension to allow vectors to be embedded directly in structs
s-liao has quit [Ping timeout: 256 seconds]
<VincentVega>
froggey: cool. any chance it will be ported to sbcl or are there compatibility limitations?
<pjb>
VincentVega: it's just non-conforming.
<VincentVega>
pjb: ah, ok
<pjb>
THis is why it's an _extension_.
<VincentVega>
got it
<pjb>
Extensions could always be incorporated in another implementation. But this one goes quite against the gist of the language.
<pjb>
That said, CLOS lets you determine the layout of an instance. structures are completely implementation dependent.
<pjb>
So writing some CLOS metaclass you could define classes that would take copies of vectors, and perhaps even ensure unboxing of numbers.
<froggey>
right. it's a very niche feature. not likely to be ported anywhere
<VincentVega>
clos metaclass is an interesting direction of thinking for this type of feature, indeed. thanks for the clarifications.
<beach>
What are you planning to use it for?
attila_lendvai has quit [Ping timeout: 252 seconds]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
<beach>
VincentVega: I am asking because you are then exposing yourself to some of the screwy semantics of languages like C++, and that's usually precisely what we want to avoid.
<VincentVega>
beach: Graphics. It's probably premature optimization at this point, and therefore evil, but I do like to be providing the most performant variants if the need arises, or at leasting considering it, which I think is good for initial architecture planning as well, even if I don't end up implementing anything. Otherwise, I despise C++ as much as the next guy, and hope to avoid any pitfalls or uneccessary complexity, but hey, performance
<VincentVega>
is performance : )
<beach>
I see.
<beach>
Good luck.
<VincentVega>
thank you
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
razetime has quit [Ping timeout: 250 seconds]
OlCe has quit [Ping timeout: 240 seconds]
mgl has quit [Ping timeout: 256 seconds]
tyson2 has quit [Remote host closed the connection]
razetime has joined #commonlisp
Guest74 has joined #commonlisp
<random-nick>
wouldn't inlining a vector into a structure just save 1 or 2 indirections? is that a big deal for what you're doing?
aartaka has quit [Ping timeout: 256 seconds]
aartaka has joined #commonlisp
mixfix41 has joined #commonlisp
OlCe` has joined #commonlisp
thegreatcatadore has quit [Quit: thegreatcatadore]
<VincentVega>
random-nick: Not really a big deal, no. I just assumed it was done, so I got curious how to check such a thing. Otherwise I am more concerned with typing and dispatch.
tyson2 has joined #commonlisp
aartaka has quit [Ping timeout: 240 seconds]
aartaka has joined #commonlisp
OlCe` has quit [Remote host closed the connection]
thegreatcatadore has joined #commonlisp
<Guest74>
what kind of graphics are you doing VincentVega:
<Shinmera>
VincentVega: you are 10000% guaranteed doing premature optimisation if you're thinking about struct memory layout.
aartaka has quit [Ping timeout: 240 seconds]
aartaka has joined #commonlisp
<Guest74>
i think that's what they're interested in. I seem to recall lots of people saying they're working on graphics, but all seem to get mired down in premature optimization and then I never see any graphics.
<Shinmera>
Yes. It is a big curse in gamedev. Everyone seems to think they're making a AAA game.
<Shinmera>
And then we get 30024425 different engines that never go anywhere and don't get used for even a 2D game.
<Xach>
if it isn't as fast as handwritten assembly for the latest cpu it is too slow
<Guest74>
which i don't understand. Doesn't anybody who actually plays games realize it's the story that matters?
<pjb>
VincentVega: note that there is already (defstruct (foo (:type vector) (:initial-offset n)) …)
<Shinmera>
Guest74: that's your opinion, and one that is a "hot take" as one would call it these days.
<pjb>
VincentVega: ie. you can make structures that are actually vectors, and with some free space for your own vector datra.
<Guest74>
pjb: those vectors hold anything.
<pjb>
And for games, it's the GPU that matters anyways.
<pjb>
Guest74: yes.
<pjb>
vector of T.
<Guest74>
which is not what they're asking about.
<Guest74>
Shinmera: what else is there? nb, i do see novel gameplay as story.
<pjb>
Guest74: defstruct is a macro!
<Guest74>
congratulations.
<pjb>
Guest74: you can write your own macro doing the same on a (vector (unsigned-byte 8)).
<Xach>
there's really only one story, told over and over again. Your god seeks to possess the amulet of yendor, and with it gain deserved ascendance over the other gods.
<VincentVega>
Guest74: the foremost goal is a backend-agnostic api with some basic geometrical shapes.
<Guest74>
although i guess there's no story in picking up bananas,oops, amulets of yendor, on a race track.
<VincentVega>
Shinmera: you are right, i have gotten over it though : D
<VincentVega>
pjb: hah, that's a cool feature
McParen has joined #commonlisp
OlCe` has joined #commonlisp
kpoeck has joined #commonlisp
Cymew has joined #commonlisp
razetime has quit [Ping timeout: 252 seconds]
Devon has quit [Read error: Connection reset by peer]
thegreatcatadore has quit [Quit: thegreatcatadore]
Devon has joined #commonlisp
igemnace has joined #commonlisp
lottaquestions has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
mon_aaraj has joined #commonlisp
amb007 has quit [Ping timeout: 272 seconds]
igemnace has quit [Remote host closed the connection]
amb007 has joined #commonlisp
Colleen has quit [*.net *.split]
saturn2 has quit [*.net *.split]
hirez has quit [*.net *.split]
pranshukhandal has quit [*.net *.split]
alvaro121 has quit [*.net *.split]
gjvc has quit [*.net *.split]
ryanbw has quit [*.net *.split]
cross has quit [*.net *.split]
mister_m has quit [*.net *.split]
danieli has quit [*.net *.split]
tyson2 has joined #commonlisp
hirez has joined #commonlisp
saturn2 has joined #commonlisp
alvaro121 has joined #commonlisp
Colleen has joined #commonlisp
pranshukhandal has joined #commonlisp
gjvc has joined #commonlisp
mister_m has joined #commonlisp
danieli has joined #commonlisp
cross has joined #commonlisp
ryanbw has joined #commonlisp
amb007 has quit [Ping timeout: 256 seconds]
amb007 has joined #commonlisp
Cymew has quit [Ping timeout: 250 seconds]
amb007 has quit [Ping timeout: 252 seconds]
thegreatcatadore has joined #commonlisp
VincentV` has joined #commonlisp
brobot has joined #commonlisp
VincentVega has quit [Ping timeout: 272 seconds]
wacki has quit [Ping timeout: 256 seconds]
kpoeck has quit [Quit: Client closed]
<qhong>
Is there a good hash table implementation somewhere?
<qhong>
I need a quotient filter and I don’t want to reinvent linear/robinhood probing again, but I don’t see how to do it by hacking the built-in hash tables
<qhong>
(built-in hash tables used way too much memory and devoid the supposed advantage of AMQ completely)
hordur has joined #commonlisp
Guest74 has quit [Quit: Connection closed]
hordur has quit [Remote host closed the connection]
orestarod has joined #commonlisp
azimut has quit [Remote host closed the connection]
azimut has joined #commonlisp
Bike has joined #commonlisp
VincentV` has quit [Ping timeout: 240 seconds]
frgo has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
thegreatcatadore has quit [Quit: thegreatcatadore]
kpoeck has joined #commonlisp
thegreatcatadore has joined #commonlisp
<kpoeck>
::notify beach slide 12 "No functionality for information about tabodys" should be tagbodys
<Colleen>
kpoeck: Got it. I'll let beach know as soon as possible.
Giovanni has joined #commonlisp
aartaka has quit [Ping timeout: 240 seconds]
kpoeck has quit [Ping timeout: 256 seconds]
tyson2 has joined #commonlisp
aartaka has joined #commonlisp
waleee has joined #commonlisp
aeth_ has joined #commonlisp
aeth has quit [Killed (NickServ (GHOST command used by aeth_))]
aeth_ is now known as aeth
euandreh has quit [Ping timeout: 252 seconds]
euandreh has joined #commonlisp
karlosz has joined #commonlisp
aartaka has quit [Ping timeout: 245 seconds]
karlosz has quit [Ping timeout: 250 seconds]
karlosz has joined #commonlisp
karlosz_ has joined #commonlisp
karlosz has quit [Ping timeout: 272 seconds]
karlosz__ has joined #commonlisp
aartaka has joined #commonlisp
karlosz_ has quit [Ping timeout: 250 seconds]
karlosz__ is now known as karlosz
aartaka has quit [Ping timeout: 256 seconds]
Lord_of_Life_ has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 272 seconds]
aartaka has joined #commonlisp
Lord_of_Life_ is now known as Lord_of_Life
wacki has joined #commonlisp
wacki has quit [Client Quit]
karlosz has quit [Ping timeout: 250 seconds]
karlosz has joined #commonlisp
McParen has left #commonlisp [#commonlisp]
Oladon has joined #commonlisp
amb007 has joined #commonlisp
tyson2 has quit [Ping timeout: 252 seconds]
aartaka has quit [Ping timeout: 240 seconds]
aartaka has joined #commonlisp
brobot has quit [Remote host closed the connection]
cage has quit [Quit: rcirc on GNU Emacs 27.1]
aartaka has quit [Ping timeout: 256 seconds]
thegreatcatadore has quit [Quit: thegreatcatadore]
aartaka has joined #commonlisp
akoana has joined #commonlisp
tyson2 has joined #commonlisp
nature has quit [Ping timeout: 252 seconds]
Dynom has quit [Quit: WeeChat 3.4]
wyrd has quit [Ping timeout: 240 seconds]
jmes has joined #commonlisp
<jmes>
Are there any extensible calculators written in CL? Perhaps somewhat inspired by emacs-calc?
aartaka has quit [Ping timeout: 256 seconds]
aartaka has joined #commonlisp
dmh has quit [Quit: rip]
wyrd has joined #commonlisp
Inline__ is now known as Inline
Giovanni has quit [Ping timeout: 252 seconds]
aartaka has quit [Ping timeout: 272 seconds]
thegreatcatadore has joined #commonlisp
<pjb>
jmes: there's maxima, and a few other mathematical program that could be used.
Guest74 has joined #commonlisp
aartaka has joined #commonlisp
Bike has quit [Quit: Connection closed]
hashfunc569 has joined #commonlisp
aartaka has quit [Ping timeout: 250 seconds]
Bike has joined #commonlisp
lottaquestions has quit [Ping timeout: 240 seconds]
cosimone has quit [Quit: ERC (IRC client for Emacs 27.1)]
shka has quit [Ping timeout: 252 seconds]
thegreatcatadore has quit [Quit: thegreatcatadore]
Oladon has quit [Quit: Leaving.]
<markasoftware>
qhong I think SICL has a hash table implementation with linear probing