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/>
X-Scale has joined #commonlisp
<Alfr> Building Skynet to help with your security duties.
<bjorkintosh> Perfect scenario.
<bjorkintosh> What could go wrong?
<Alfr> I'd be content with SHODAN as well.
<Alfr> Oh ... this isn't the cafe.
lucasta has joined #commonlisp
waleee has quit [Ping timeout: 248 seconds]
jungy has joined #commonlisp
jweeks has quit [Remote host closed the connection]
X-Scale has quit [Quit: Client closed]
random-nick has quit [Ping timeout: 276 seconds]
X-Scale has joined #commonlisp
<paulapatience> Regarding Clojure, there is also https://github.com/jank-lang/jank
<ixelp> GitHub - jank-lang/jank: A Clojure dialect hosted on LLVM with native C++ interop
lucasta has quit [Remote host closed the connection]
X-Scale has quit [Quit: Client closed]
mzan has joined #commonlisp
pestctrl has quit [Ping timeout: 276 seconds]
defaultxr has joined #commonlisp
thuna` has quit [Ping timeout: 248 seconds]
decweb has quit [Ping timeout: 276 seconds]
molson__ has joined #commonlisp
molson_ has quit [Ping timeout: 245 seconds]
rtypo has quit [Ping timeout: 252 seconds]
scymtym has quit [Quit: Application exit]
istewart has quit [Quit: Konversation terminated!]
Pixel_Outlaw has quit [Quit: Leaving]
Inline has joined #commonlisp
Inline has quit [Quit: Leaving]
chomwitt has joined #commonlisp
Inline has joined #commonlisp
wacki has joined #commonlisp
anticomputer_ has quit [Ping timeout: 260 seconds]
anticomputer has joined #commonlisp
Inline has quit [Quit: Leaving]
mrcom has quit [Read error: Connection reset by peer]
mrcom_ has joined #commonlisp
gjn has quit [Ping timeout: 245 seconds]
slondr has quit [Ping timeout: 245 seconds]
artyn has quit [Ping timeout: 245 seconds]
gjn has joined #commonlisp
artyn has joined #commonlisp
slondr has joined #commonlisp
Colleen has quit [Ping timeout: 245 seconds]
Colleen has joined #commonlisp
Inline has joined #commonlisp
pvac has quit [Ping timeout: 245 seconds]
torgny has quit [Ping timeout: 245 seconds]
torgny has joined #commonlisp
pvac has joined #commonlisp
jweeks has joined #commonlisp
jweeks has quit [Changing host]
jweeks has joined #commonlisp
pve has joined #commonlisp
ym has joined #commonlisp
Lord_of_Life_ has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 276 seconds]
Lord_of_Life_ is now known as Lord_of_Life
msv has quit [Remote host closed the connection]
rendar_ has quit [Ping timeout: 248 seconds]
shka has joined #commonlisp
Inline has quit [Quit: Leaving]
rendar has joined #commonlisp
chomwitt has quit [Ping timeout: 252 seconds]
cage has joined #commonlisp
mrcom_ is now known as mrcom
dino_tutter has joined #commonlisp
attila_lendvai has joined #commonlisp
ryanbw has quit [Ping timeout: 252 seconds]
danza has joined #commonlisp
ryanbw has joined #commonlisp
prxq has joined #commonlisp
chomwitt has joined #commonlisp
chomwitt has quit [Ping timeout: 245 seconds]
danza_ has joined #commonlisp
danza has quit [Ping timeout: 248 seconds]
awlygj has joined #commonlisp
X-Scale has joined #commonlisp
X-Scale84 has joined #commonlisp
X-Scale has quit [Ping timeout: 256 seconds]
msv has joined #commonlisp
Inline has joined #commonlisp
mgl has joined #commonlisp
mgl has quit [Ping timeout: 248 seconds]
oneeyedalien has joined #commonlisp
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
X-Scale84 is now known as X-Scale
waleee has joined #commonlisp
random-nick has joined #commonlisp
oneeyedalien has quit [Quit: Leaving]
danza_ is now known as danza
wacki has joined #commonlisp
X-Scale has quit [Quit: Client closed]
waleee has quit [Ping timeout: 252 seconds]
dino_tutter has quit [Ping timeout: 245 seconds]
chomwitt has joined #commonlisp
danza has quit [Quit: gotta go]
synchromesh has quit [Read error: Connection reset by peer]
synchromesh has joined #commonlisp
bjorkint0sh has joined #commonlisp
bjorkintosh has quit [Ping timeout: 248 seconds]
Jach has quit [Quit: Leaving.]
mgl has joined #commonlisp
pfdietz has quit [Quit: Client closed]
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
wacki has joined #commonlisp
wacki has quit [Client Quit]
mgl has quit [Ping timeout: 252 seconds]
reb has quit [Ping timeout: 276 seconds]
chomwitt has quit [Ping timeout: 252 seconds]
rtypo has joined #commonlisp
lucasta has joined #commonlisp
decweb has joined #commonlisp
random-nick has quit [Ping timeout: 248 seconds]
Inline has quit [Quit: Leaving]
random-nick has joined #commonlisp
reb has joined #commonlisp
<ixelp> Common Lisp Study Group - A In-depth Look into CLOS (part 1) - YouTube
<beach> s/A/An/ since it is followed by a vowel.
<beach> mwnaylor: I meant to mention during the previous discussion that discussions about object-oriented programming vs functional programming often use a narrow definition of object-oriented programming that excludes CLOS.
<beach> mwnaylor: Evan people like Dave Farley don't seem to know about CLOS and how it is unique.
<beach> *Even
zxcvz has joined #commonlisp
zxcvz has quit [Client Quit]
<mwnaylor> Looks like stumpwm is built on CLOS, thus my interest.
<beach> Most modern Common Lisp code involves CLOS.
<mwnaylor> That's good to know.
<mwnaylor> Video taught me about slime inspector. *That* should be useful.
<beach> I highly recommend Clouseau over the SLIME inspector.
<mwnaylor> Might help if I (info "slime")
<mwnaylor> Where would I find Clouseau? github? I don't see it in elpa/melpa.
<beach> You should be able to get it by doing (ql:quickload "clouseau").
<beach> It is not an Emacs thing. It is a CLIM application.
<mwnaylor> I need to start making quickload part of my thinking process. Still rather new to Common Lisp, even though I've dabbled with it for simple examples over the years.
<beach> mwnaylor: You may want to join #clschool if you have truly basic Common Lisp questions. People hang out there specifically to answer such questions.
<mwnaylor> Is this a channel for more experienced developers?
<mwnaylor> #commonlisp, I mean.
<beach> Anybody can hang out here, but it is usually for more sophisticated questions. Though newbie questions are tolerated, especially if things are otherwise quiet.
Inline has joined #commonlisp
amb007 has quit [Ping timeout: 252 seconds]
amb007 has joined #commonlisp
<edgar-rft> mwnaylor: Sometimes it can happen that in-depth technical discussions happen here in #commonlisp with *lots* of people involved and it's difficult for newbies to come through with basic questions what was the main reason why a separate #clschool channel was created.
<edgar-rft> But in general all people are allowed here to ask questions here, as long as the questions have something to do with Common Lisp
yitzi has joined #commonlisp
pyooque has joined #commonlisp
puke has quit [Killed (tantalum.libera.chat (Nickname regained by services))]
pyooque is now known as puke
donleo has joined #commonlisp
pfdietz has joined #commonlisp
Perflosopher has joined #commonlisp
<mwnaylor> edgar-rft: Like #emacs but more on topic? Over there, I get lost in the weeds w/ discussions about creating themes and messing around w/ fonts. Used to feel the same about writing major modes, until I discovered a need to create some small ones to meet my needs.
<beach> mwnaylor: A lot of the time, some aspects about the Common Lisp are discussed, like exact interpretation of some specification. Also, discussions about the CLOS MetaObject Protocol (MOP) are common.
<beach> mwnaylor: Major Common Lisp applications are sometimes discussed, as are differences between different Common Lisp implementation.
msv has quit [Remote host closed the connection]
edgar-rft_ has joined #commonlisp
<beach> *some aspects about the Common Lisp standard
edgar-rft has quit [Ping timeout: 248 seconds]
<edgar-rft_> mwnaylor: Compared to Common Lisp, Emacs Lisp is a mess of a language (what has several reasons that are too long to be discussed here), the same is true for #emacs vs #commonlisp - people here on #commonlisp whould get angry if I post the same amount of dumbshit like I often do on #emacs :-)
awlygj has quit [Quit: leaving]
<skin> how come generic functions are so much slower? how much slower are they really? asking about sbcl, and maybe CCL or ecl.
chrcav has quit [Quit: leaving]
<skin> why is Defstruct so much faster than def class? or is it?
<skin> 0
Inline has quit [Quit: Leaving]
X-Scale has joined #commonlisp
josrr has joined #commonlisp
chomwitt has joined #commonlisp
<skin> more generally, what are some techniques to achieve "cheap" polymorphism in common lisp?
X-Scale95 has joined #commonlisp
shka has quit [Quit: Konversation terminated!]
X-Scale has quit [Ping timeout: 256 seconds]
shka has joined #commonlisp
<bjorkint0sh> skin: CLOS
<skin> isn't clos the expensive kind?
<bjorkint0sh> i'm willing to bet Moore's law will take care of your needs.
lucasta has quit [Remote host closed the connection]
<edgar-rft_> skin: CLOS classes and methods (based on generic functions) can be changed at runtime and therefore need more internal overhead than DEFSTRUCT. The language doesn't allow DEFSTRUCTs to be redefined. How much slower generic functions are depends on the compiler settings and what exactly you're doing. Common Lisp has a TIME macro that can be used to find it out.
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
edgar-rft_ is now known as edgar-rft
amb007 has quit [Ping timeout: 276 seconds]
amb007 has joined #commonlisp
chomwitt has quit [Ping timeout: 276 seconds]
<paulapatience> skin: Less flexible than CLOS, but typecase
<skin> I was thinking that, yeah
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
X-Scale95 has quit [Ping timeout: 256 seconds]
pyooque has joined #commonlisp
puke is now known as Guest9444
Guest9444 has quit [Killed (erbium.libera.chat (Nickname regained by services))]
pyooque is now known as puke
<mwnaylor> Thanks for all the CLOS tips. Not ready to (defclass my-class …) from scratch, but I *can* start using existing instances. Currently have a slime connection to my stumpwm repl and am able to start poking around with its innards.
<mwnaylor> It helps that I cloned the stumpwm repository in order to build it and have access to all the source code.
<beach> skin: Also, many Common Lisp implementations use a derivative of PCL (Portable Common Loops) and old-ish implementation of CLOS based on what was the best at the time. But generic functions don't have to be intrinsically slow.
<beach> *an old-ish
<beach> *sigh*
<beach> skin: It is just that maintainers of current Common Lisp implementations seem to have other fish to fry.
random-nick has quit [Ping timeout: 255 seconds]
random-nick has joined #commonlisp
smlckz- has quit [Remote host closed the connection]
pranav has quit [Remote host closed the connection]
X-Scale has joined #commonlisp
wacki has joined #commonlisp
pestctrl has joined #commonlisp
msv has joined #commonlisp
random-nick has quit [Ping timeout: 252 seconds]
X-Scale4 has joined #commonlisp
X-Scale has quit [Ping timeout: 256 seconds]
random-nick has joined #commonlisp
pranav has joined #commonlisp
yitzi has quit [Remote host closed the connection]
<skin> well, and maybe that's just indicative of how complex the task might be (making CLOS fast) due to its design.
<bike> making generic function dispatch fast is honestly not _that_ complicated. eql specializers are kind of weird but other than that it's just lookup tables. it's what self was doing in like the 80s plus multimethods.
<pranav> I wonder why stuff like fast-generic-functions isn't used more often.
<skin> is that a library or?
<pranav> It's a library
<skin> what makes it fast??
<pranav> Sealable metaobjects do: https://www.youtube.com/watch?v=aS5HmEX5PKM
<ixelp> Sealable Metaobjects for Common Lisp - YouTube
<skin> I remember reading about this...
<bike> "sealing" means you say that a class will never have new subclasses, a function will never have more methods, etc. So you can do away with the redefinition checks and just embed your dispatch table at the call site.
<pranav> Or inline.
<pranav> It's currently broken on SBCL 2.3.x and above. But there's a pull request that seems to work https://github.com/marcoheisig/fast-generic-functions/pull/16
<ixelp> Fix for sbcl 2.3.x and 2.4.x by ajberkley · Pull Request #16 · marcoheisig/fast-generic-functions · GitHub
<skin> seems to have an issue claiming it's broken on ecl too.
<skin> besides, my use case is basically an algebraic sum type implementing a datastructure, so typecase is probably fine.
<skin> generic functions would sure make that job easier tho.
<skin> anyways.
ym has quit [Ping timeout: 252 seconds]
<bike> kind of an unfortunate hole in CLOS's design that it doesn't support this kind of thing without internal guts.
cage has quit [Quit: rcirc on GNU Emacs 29.4]
<pranav> Was this technique known before Dylan?
<pranav> That's the earliest reference I could find for domain sealing.
X-Scale4 has quit [Quit: Client closed]
<bike> well java has final. i don't know where they got it, or if they invented it or what.
<pranav> The wikipedia page for final keyword in Java says that ahead of time compilers can't inline final methods.
synchromesh has quit [Read error: Connection reset by peer]
<pranav> But yes, seems like a similar concept.
synchromesh has joined #commonlisp
varjag has joined #commonlisp
<bike> that's more because of how java works than anything about final
mgl has joined #commonlisp
Inline has joined #commonlisp
ChanServ has quit [shutting down]
ChanServ has joined #commonlisp
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
pve has quit [Quit: leaving]
char has joined #commonlisp
waleee has joined #commonlisp
random-nick has quit [Ping timeout: 248 seconds]
dra has joined #commonlisp
random-nick has joined #commonlisp
thuna` has joined #commonlisp
dino_tutter has joined #commonlisp
mgl has quit [Ping timeout: 260 seconds]
Pixel_Outlaw has joined #commonlisp
akoana has joined #commonlisp
dra has quit [Quit: Leaving]
dino_tutter has quit [Ping timeout: 252 seconds]
yitzi has joined #commonlisp
amb007 has quit [Ping timeout: 260 seconds]
chomwitt has joined #commonlisp
shka has quit [Ping timeout: 255 seconds]
amb007 has joined #commonlisp
donleo has quit [Ping timeout: 248 seconds]
reb has quit [Ping timeout: 245 seconds]
yitzi has quit [Remote host closed the connection]
thuna` has quit [Ping timeout: 248 seconds]
slyrus_ has joined #commonlisp
cayley56 has joined #commonlisp
luis9 has joined #commonlisp
hexa6` has joined #commonlisp
shunter_ has joined #commonlisp
Schnouki_ has joined #commonlisp
paulapatience_ has joined #commonlisp
khrbtxyz_ has joined #commonlisp
ajoberstar_ has joined #commonlisp
ggb_ has joined #commonlisp
yottabyte_ has joined #commonlisp
pl_ has joined #commonlisp
ggb has quit [Ping timeout: 258 seconds]
shunter has quit [Ping timeout: 258 seconds]
shunter_ is now known as shunter
gendl__ has quit [Read error: Connection reset by peer]
cayley5 has quit [Read error: Connection reset by peer]
cayley56 is now known as cayley5
Schnouki has quit [Read error: Connection reset by peer]
Schnouki_ is now known as Schnouki
gendl__ has joined #commonlisp
ajoberstar has quit [Read error: Connection reset by peer]
ajoberstar_ is now known as ajoberstar
khrbtxyz has quit [Ping timeout: 258 seconds]
kabriel has joined #commonlisp
ggb_ is now known as ggb
paulapatience has quit [Read error: Connection reset by peer]
paulapatience_ is now known as paulapatience
hexa6 has quit [Read error: Connection reset by peer]
kagevf has quit [Ping timeout: 258 seconds]
slyrus has quit [Ping timeout: 258 seconds]
khrbtxyz_ is now known as khrbtxyz
kagevf has joined #commonlisp
yottabyte has quit [Ping timeout: 258 seconds]
luis has quit [Ping timeout: 258 seconds]
skempf has quit [Ping timeout: 258 seconds]
micro has quit [Ping timeout: 258 seconds]
pl has quit [Ping timeout: 258 seconds]
luis9 is now known as luis
yottabyte_ is now known as yottabyte
pl_ is now known as pl
micro has joined #commonlisp
varjag has quit [Ping timeout: 248 seconds]
amb007 has quit [Ping timeout: 260 seconds]