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/>
random-nick has quit [Ping timeout: 272 seconds]
rgherdt has quit [Remote host closed the connection]
azimut_ has quit [Ping timeout: 255 seconds]
pve has quit [Quit: leaving]
epony has quit [Ping timeout: 268 seconds]
tyson2 has joined #commonlisp
masinter has quit [Remote host closed the connection]
masinter has joined #commonlisp
akonai has quit [Ping timeout: 260 seconds]
dec0d3r has joined #commonlisp
Bike has quit [Quit: restarting]
Bike has joined #commonlisp
akonai has joined #commonlisp
akonai has quit [Ping timeout: 256 seconds]
epony has joined #commonlisp
akonai has joined #commonlisp
NotThatRPG_away is now known as NotThatRPG
NotThatRPG is now known as NotThatRPG_away
akonai has quit [Ping timeout: 256 seconds]
akonai has joined #commonlisp
akonai has quit [Ping timeout: 255 seconds]
akonai has joined #commonlisp
akonai has quit [Ping timeout: 252 seconds]
moon-child has left #commonlisp [#commonlisp]
speskk has quit [Ping timeout: 252 seconds]
akonai has joined #commonlisp
pjb has quit [Ping timeout: 265 seconds]
mrcom_ has quit [Ping timeout: 265 seconds]
mrcom has joined #commonlisp
mrcom has quit [Remote host closed the connection]
mrcom has joined #commonlisp
waleee has quit [Ping timeout: 248 seconds]
Noisytoot has quit [Excess Flood]
akonai has quit [Ping timeout: 260 seconds]
Noisytoot has joined #commonlisp
mingus has joined #commonlisp
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
terrorjack has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
jeosol has quit [Quit: Client closed]
akonai has joined #commonlisp
mingus has quit [Ping timeout: 272 seconds]
Bike is now known as Bike
akonai has quit [Ping timeout: 260 seconds]
akonai has joined #commonlisp
dec0d3r has quit [Quit: Leaving]
akonai has quit [Ping timeout: 268 seconds]
Devon has joined #commonlisp
Noisytoot has quit [Ping timeout: 252 seconds]
Lycurgus has joined #commonlisp
akonai has joined #commonlisp
robin has quit [Ping timeout: 256 seconds]
samebchase has joined #commonlisp
Devon has quit [Ping timeout: 272 seconds]
rainthree has joined #commonlisp
aartaka has joined #commonlisp
Lycurgus has quit [Quit: Exeunt: personae.ai-integration.biz]
mingus has joined #commonlisp
tevo has quit [Read error: Connection reset by peer]
tevo has joined #commonlisp
igemnace has joined #commonlisp
mingus1 has joined #commonlisp
mingus has quit [Ping timeout: 246 seconds]
mingus1 is now known as mingus
aartaka has quit [Ping timeout: 268 seconds]
aartaka has joined #commonlisp
lottaquestions has quit [Quit: Konversation terminated!]
lottaquestions_ has joined #commonlisp
MajorBiscuit has joined #commonlisp
attila_lendvai has joined #commonlisp
mingus has quit [Ping timeout: 246 seconds]
LispTyro has joined #commonlisp
mingus has joined #commonlisp
jackdaniel has quit [Remote host closed the connection]
Krystof has joined #commonlisp
jmiven has quit [Quit: reboot]
jmiven has joined #commonlisp
rgherdt has joined #commonlisp
jackdaniel has joined #commonlisp
jackdaniel has left #commonlisp [#commonlisp]
jackdaniel has joined #commonlisp
mingus has quit [Ping timeout: 248 seconds]
pranavats has left #commonlisp [Disconnected: Hibernating too long]
aartaka has quit [Ping timeout: 255 seconds]
aartaka has joined #commonlisp
_cymew_ has joined #commonlisp
azimut has joined #commonlisp
<Shinmera> NotThatRPG_away: people have written extensions for my documentation-utils package that allows them to write docstrings with extra formatting that is stored separately, while a "compiled down" version is used for the standard docstring.
pve has joined #commonlisp
pranavats has joined #commonlisp
<seok> What's the simplest way to send keystrokes and mouse events to windows applications on Lisp? win32 api through cffi?
<psvensson> shinmera: sorry for an OOB question, but I just tried to donate to the kandira kickstarted, and wasn't able to. It looks like the support alternatives ended in November 2022?
<Shinmera> the kickstarter concluded in July
<Shinmera> if you want to buy the game you'll have to wait until next week
<Shinmera> seok: yes
<Shinmera> seok: you'll also likely need to interact with COM, so have a look at the com-on library.
<seok> uh, the library's name is com-on?
<Shinmera> yes
<seok> because google wants to fix it to common lisp if I search for com-on lisp : ) inconvenient
<seok> do you have a link to the library?
<jackdaniel> that's a definitive proof that google wants to tank lisp
<psvensson> OK, sorry, I just read an artcile you've written and thought it was current. Oh well :) Yes, I will.
<Shinmera> Colleen: tell seok look up com-on
<Colleen> seok: Unknown archive "com-on".
<Shinmera> ech
<jackdaniel> seok: type shimukroameko common lisp and browser repositories - it is like bernard cumbersnatch
<ixelp> Com On
<seok> ah it's another one of yours
<Shinmera> duh
<seok> thanks
<seok> yeah you make pretty much half the stuff
<seok> why do I need to fiddle with COM? Can't I just call SendKey()?
<Shinmera> I said likely
<Shinmera> I don't actually know what you have to do
<seok> ah just click(x y) and press(key)
<seok> on a window app
pranavats has left #commonlisp [Error from remote client]
mingus has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 256 seconds]
Lord_of_Life has joined #commonlisp
peterhil has joined #commonlisp
jmdaemon has quit [Ping timeout: 272 seconds]
aartaka has quit [Ping timeout: 248 seconds]
aartaka has joined #commonlisp
mingus1 has joined #commonlisp
mingus has quit [Ping timeout: 252 seconds]
mingus1 is now known as mingus
aartaka has quit [Ping timeout: 252 seconds]
aartaka has joined #commonlisp
rodicm has joined #commonlisp
anticomputer_ has joined #commonlisp
anticomputer has quit [Ping timeout: 255 seconds]
rainthree has quit [Ping timeout: 272 seconds]
mingus has quit [Ping timeout: 252 seconds]
Noisytoot has joined #commonlisp
random-nick has joined #commonlisp
peterhil has quit [Remote host closed the connection]
peterhil has joined #commonlisp
mingus has joined #commonlisp
pranavats has joined #commonlisp
epony has quit [Ping timeout: 268 seconds]
scymtym has quit [Ping timeout: 264 seconds]
Brucio-61 has quit [Ping timeout: 260 seconds]
anticomputer_ has quit [Quit: quit]
anticomputer has joined #commonlisp
aartaka has quit [Ping timeout: 252 seconds]
aartaka has joined #commonlisp
Brucio-61 has joined #commonlisp
scymtym has joined #commonlisp
utis has joined #commonlisp
Brucio-61 has quit [Ping timeout: 260 seconds]
<utis> what's the best library for handling cli arguments? i think unix-options has this (to me) undesirable thing with making short options from the initials of long options
Brucio-61 has joined #commonlisp
<jackdaniel> I'm personally using net.didierverna.clon
<utis> thanks
pjb has joined #commonlisp
lisp123 has joined #commonlisp
lisp123 has quit [Client Quit]
lisp123 has joined #commonlisp
<utis> is that supposed to be straightforwardly quicklispable? i'm getting `System "net.didierverna.clon.termio" not found'
<utis> (ok, now i found the manual)
<utis> this looks promising
<pjb> you seem to be missing a ".setup"
<pjb> in clon-1.0b25
mingus1 has joined #commonlisp
<utis> i did try installing .setup as well, but that didn't let me install net...clon but i was able to install clon.core
mingus has quit [Ping timeout: 246 seconds]
mingus1 is now known as mingus
<utis> unless there's a command in setup that's supposed to be run
<pjb> utis: find where there's an occurence of net.didierverna.clon.termio and patch it to be net.didierverna.clon.setup.termio
<pjb> grep may be useful.
<jackdaniel> pjb: you are speaking nonsense - setup systems are to decide whether termio should be loaded
<jackdaniel> they are part of defsystem-depends-on
<pjb> jackdaniel: check by paste.
<jackdaniel> apparently either your quick-apropos is broken, or something else doesn't work with your host
<jackdaniel> there is an appropriate system in the termio directory
<jackdaniel> termio extension may be configured to not be loaded in the setup system, but since I'm not on a dev support duty I'll leave it at that
tyson2 has joined #commonlisp
<pjb> You're right, there's a /Users/pjb/quicklisp/dists/quicklisp/software/clon-1.0b25/termio/net.didierverna.clon.termio.asd:29:(defsystem :net.didierverna.clon.termio
OlCe has quit [Remote host closed the connection]
scymtym_ has joined #commonlisp
Brucio-61 has quit [Ping timeout: 260 seconds]
scymtym has quit [Ping timeout: 246 seconds]
Brucio-61 has joined #commonlisp
aartaka has quit [Ping timeout: 268 seconds]
scymtym_ has quit [Remote host closed the connection]
scymtym_ has joined #commonlisp
aartaka has joined #commonlisp
speskk has joined #commonlisp
speskk has joined #commonlisp
speskk has quit [Changing host]
scymtym__ has joined #commonlisp
Brucio-61 has quit [Ping timeout: 260 seconds]
scymtym_ has quit [Ping timeout: 252 seconds]
cage has joined #commonlisp
Brucio-61 has joined #commonlisp
tane has joined #commonlisp
tane has quit [Changing host]
tane has joined #commonlisp
OlCe has joined #commonlisp
utis has quit [Ping timeout: 246 seconds]
<beach> If I do this in SBCL: (defpackage #:aa (:use) (:export #:xx)) then (defpackage #:bb (:use) (:export #:xx)) then (defpackage #:cc (:use #:aa #:bb)) I get a name conflict, which is normal. But the restart TAKE-NEW says "Make newly exposed symbol accessible in CC, uninterning old ones". But isn't the term "unintern" used only for symbols that are present? The symbol named "XX" is not present in CC, it is inherited from AA.
aartaka has quit [Ping timeout: 252 seconds]
<jackdaniel> doesn't "interned" mean - accessible in the package (not necessarily that the package is the home package of a symbol)?
<beach> Let me check... I was looking at the definition of the function UNINTERN, and only present symbols can be uninterned.
<beach> ... as far as I can tell.
lisp123 has quit [Remote host closed the connection]
<beach> Heh, "interned" has both definitions.
<beach> Well, let's see.
<jackdaniel> and glossary has: "uninterned adj. (of a symbol) not accessible in any package; i.e., not interned[1]. "
<jackdaniel> so "uninterning" may very well mean - make the symbol uninterned - not "call cl:unintern"
aartaka has joined #commonlisp
<beach> But how do you make an inherited symbol uninterned as a result of a name conflict?
<beach> It would be strange to remove symbol XX from AA as a result of a name conflict in CC.
<jackdaniel> you make the symbol uninterned (i.e not accessible) in CC
<beach> But you just said "in any package".
seletz has quit [Read error: Connection reset by peer]
<beach> I don't see a way to make a symbol S not accessible in some package P that uses a package Q that exports S, other than making a different a symbol with the same name a S a shadowing symbol in P.
<jackdaniel> I think that saying "uninterning from X" narrows the definition to some package, but yes, the wording may be confusing
<jackdaniel> s/some package/_some_ package/
<beach> OK, but then, you can't unintern an inherited symbol.
utis has joined #commonlisp
<beach> Because then we are on definition 2 of "interned".
<jackdaniel> if we take the definition from 'interned', that the symbol is 'accessible in CC', then reversing the operation would be 'making it not accessible in CC' - whether by shadowing it or some other magical method is an implementation detail
lisp123 has joined #commonlisp
<pjb> beach: "unintern removes symbol from package. If symbol is present in package, it is removed from package and also from package's shadowing symbols list if it is present there. If package is the home package for symbol, symbol is made to have no home package. Symbol may continue to be accessible in package by inheritance."
<pjb> beach: I think, indeed, that shadow would be in order in the case presented. This is what you'd write in the defpackage form to resolve it in the source, so IMO that's also what the restart should do.
<beach> pjb: Exactly! Thanks!
seletz has joined #commonlisp
<beach> Ah, but that's not quite what SBCL does either. Oh well.
<beach> Here is a slightly modified scenario: (defpackage #:aa (:use) (:export #:xx)) (defpackage #:bb (:use) (:export #:xx)) (defpackage #:cc (:use) (:export #:xx)) (defpackage #:dd (:use #:aa #:bb #:cc)). I think this is why USE-PACKAGE takes a list of packages to use. The conflict can't reasonably be resolved one used package at a time.
<beach> So then the question is, how do you design the restarts for resolving the conflict(s)?
<jackdaniel> some fun with xkeyboard definitions and mcclim: http://turtleware.eu/static/paste/89e1e06e-keys3.mp4
audaine has joined #commonlisp
<beach> If I understand things right, SBCL considers one package at a time, and you can choose to keep the symbol from the previously considered package. Then the symbol becomes a shadowing symbol. Or you can choose the symbol from the newly considered package, but then the symbol remains in limbo so that a choice can be made between the second and the third used package.
tyson2 has quit [Remote host closed the connection]
<beach> I can't think of a set of restarts that could reasonably be invoked programmatically in order to solve name conflicts between more than two used packages. And even with two used packages, say P and Q, it is possible that it is desirable to take symbol S1 from P and symbol S2 from Q.
<beach> And, if there is no reasonable set of restarts that can be invoked programmatically, then a single interactive restart that gives a choice between all used packages for each conflicting symbol seems to be better than doing them pairwise.
<beach> And USE-PACKAGE doesn't require that a correctable error be signaled. I am starting to understand why.
<Bike> i figured with more than two packages, you could have a programmatic restart where you specify what package to import the symbol from
<Bike> i have an issue for this in clasp, but it's low priority
<beach> Sure, but which symbol? S1 or S2?
<Bike> you'd do it one symbol at a time
<beach> Sure, but then only interactively. I can't see how to do that programmatically in a way that would be better than just doing the SHADOWING-IMPORT programmatically.
<Bike> well, like i said i figure the restart could take the package. i don't actually know when you'd be programatically restarting from any of these errors in practice, anyway
<pjb> If you prepare a single restart to handle the case of a single symbol name at once, then it will have to have some interactive input/parameter to select the wanted package. You'd also want to provide restarts to apply the same selection to all the remaining conflicts.
<beach> Sure. But it seems to me that interactive restarts are useful mostly if there is a very long calculation that needs some user help after some computation time. I don't see the package operations as being used that way.
tyson2 has joined #commonlisp
<beach> Or am I missing some interesting use of interactive restarts?
<phoe> beach: I don't think the "long calculation" is the only case where restarts are useful
<beach> Of course.
<pjb> beach: they're useful when you use use-package actually. If you get conflicts from a defpackage form, then having a full report of the problems would be enough, since you will have to edit the sources.
<phoe> for trivial things, if (foobarbza 42) ends up signaling UNDEFINED-FUNCTION, I can see a useful restart that allows me to specify FOOBARBAZ as the name of the function that should instead be called with the same arguments as an alternative to hitting Q and correcting the REPL request
<pjb> The long computation would be all the export/shadow/import calls you'd have to do at the REPL before use-package could work without conflicts.
<beach> phoe: Notice that I said "mostly".
<phoe> beach: yes
<pjb> phoe: https://termbin.com/rkp29 it's covered.
<beach> Now, I think if I had the scenario above with AA, BB, CC, and DD, I think I would add a SHADOWING-IMPORT-FROM option to the DD definition, and evaluate the form again.
<phoe> pjb: yes
<beach> Othwerwise, I would have to do the interactive restart each time.
MajorBiscuit has quit [Quit: WeeChat 3.6]
<beach> Anyway, thanks for the discussion.
aartaka has quit [Ping timeout: 260 seconds]
aartaka has joined #commonlisp
utis has quit [Ping timeout: 260 seconds]
Lycurgus has joined #commonlisp
scymtym__ has quit [Ping timeout: 256 seconds]
Brucio-61 has quit [Ping timeout: 260 seconds]
Lycurgus has quit [Quit: Exeunt: personae.ai-integration.biz]
aartaka has quit [Ping timeout: 272 seconds]
Brucio-61 has joined #commonlisp
aartaka has joined #commonlisp
_Posterdati_ has joined #commonlisp
_Posterdati_ has quit [Client Quit]
robin has joined #commonlisp
Inline has joined #commonlisp
jmdaemon has joined #commonlisp
jmdaemon has quit [Ping timeout: 260 seconds]
inline__ has joined #commonlisp
Inline has quit [Ping timeout: 260 seconds]
epony has joined #commonlisp
jmdaemon has joined #commonlisp
rainthree has joined #commonlisp
rainthree3 has joined #commonlisp
rainthree has quit [Ping timeout: 252 seconds]
lisp123 has quit [Remote host closed the connection]
rodicm has quit [Quit: Leaving]
jmdaemon has quit [Ping timeout: 268 seconds]
aartaka has quit [Ping timeout: 272 seconds]
tibfulv has quit [Remote host closed the connection]
tibfulv has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
aartaka has joined #commonlisp
Josh_2 has joined #commonlisp
<Josh_2> :trumpet: Hi :trumpet:
pranavats has left #commonlisp [Error from remote client]
_cymew_ has quit [Ping timeout: 248 seconds]
mason has left #commonlisp [#commonlisp]
rainthree3 has quit [Ping timeout: 252 seconds]
_cymew_ has joined #commonlisp
midian has joined #commonlisp
tyson2 has joined #commonlisp
kaskal has quit [Quit: ZNC - https://znc.in]
Inline has joined #commonlisp
kaskal has joined #commonlisp
inline__ has quit [Ping timeout: 256 seconds]
kaskal has quit [Quit: ZNC - https://znc.in]
kaskal has joined #commonlisp
aartaka has quit [Ping timeout: 256 seconds]
jeosol has joined #commonlisp
midian has quit [Quit: Connection closed]
lisp123 has joined #commonlisp
morganw has joined #commonlisp
lisp123 has quit [Ping timeout: 268 seconds]
rgherdt has quit [Remote host closed the connection]
son0p has quit [Ping timeout: 260 seconds]
jeosol has quit [Quit: Client closed]
aartaka has joined #commonlisp
Krystof has quit [Ping timeout: 272 seconds]
jolby has joined #commonlisp
gxt has quit [Remote host closed the connection]
gxt has joined #commonlisp
inline__ has joined #commonlisp
Inline has quit [Ping timeout: 255 seconds]
Inline has joined #commonlisp
inline__ has quit [Ping timeout: 248 seconds]
varjag has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
morganw has quit [Remote host closed the connection]
azimut has quit [Quit: ZNC - https://znc.in]
azimut_ has joined #commonlisp
gxt has quit [Ping timeout: 255 seconds]
gxt has joined #commonlisp
cosimone has joined #commonlisp
morganw has joined #commonlisp
epony has quit [Remote host closed the connection]
epony has joined #commonlisp
aartaka has quit [Ping timeout: 268 seconds]
aartaka has joined #commonlisp
pranavats has joined #commonlisp
waleee has joined #commonlisp
_cymew_ has quit [Ping timeout: 252 seconds]
aartaka has quit [Ping timeout: 268 seconds]
jolby has quit [Quit: Client closed]
cage has quit [Quit: rcirc on GNU Emacs 28.2]
tane has quit [Quit: Leaving]
Sauvin has quit [Ping timeout: 260 seconds]
Sauvin has joined #commonlisp
jolby has joined #commonlisp
jmdaemon has joined #commonlisp
morganw has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
lisp123 has quit [Ping timeout: 252 seconds]
cosimone has quit [Read error: Connection reset by peer]
varjag has quit [Ping timeout: 272 seconds]
random-nick has quit [Ping timeout: 256 seconds]
tyson2 has joined #commonlisp
inline__ has joined #commonlisp
Inline has quit [Ping timeout: 272 seconds]
haziz has joined #commonlisp
igemnace has quit [Ping timeout: 260 seconds]
Inline has joined #commonlisp