wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
kamafam has joined #commonlisp
easye` has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.2)]
zxcvz has joined #commonlisp
chomwitt has joined #commonlisp
zxcvz has quit [Quit: zxcvz]
vyrsh has joined #commonlisp
kamafam has quit [Read error: Connection reset by peer]
kamafam has joined #commonlisp
rgherdt has joined #commonlisp
pve has joined #commonlisp
amb007 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
iNomad has joined #commonlisp
zxcvz has joined #commonlisp
amb007 has quit [Ping timeout: 255 seconds]
amb007 has joined #commonlisp
dnhester has joined #commonlisp
zetef has joined #commonlisp
vyrsh has quit [Quit: Konversation terminated!]
oneeyedalien has quit [Remote host closed the connection]
oneeyedalien has joined #commonlisp
zxcvz has quit [Quit: zxcvz]
dnhester has quit [Ping timeout: 268 seconds]
chomwitt has quit [Ping timeout: 264 seconds]
chiselfuse has quit [Remote host closed the connection]
chiselfuse has joined #commonlisp
_cymew_ has joined #commonlisp
skeemer has joined #commonlisp
molson has quit [Ping timeout: 255 seconds]
pillton has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.2)]
varjag has joined #commonlisp
chomwitt has joined #commonlisp
mm007emko has quit [Read error: Connection reset by peer]
amb007 has quit [Ping timeout: 260 seconds]
amb007 has joined #commonlisp
mm007emko has joined #commonlisp
molson has joined #commonlisp
attila_lendvai has joined #commonlisp
mm007emko has quit [Read error: Connection reset by peer]
notzmv has quit [Ping timeout: 268 seconds]
dino_tutter has joined #commonlisp
Cymew has joined #commonlisp
mgl has joined #commonlisp
alcor has joined #commonlisp
bendersteed has joined #commonlisp
dnhester has joined #commonlisp
oneeyedalien has quit [Quit: Leaving]
pfdietz has quit [Ping timeout: 250 seconds]
zetef has quit [Ping timeout: 260 seconds]
<Josh_2>
Hi :sunglasses:
tok has joined #commonlisp
chomwitt has quit [Ping timeout: 255 seconds]
Inline has joined #commonlisp
donleo has joined #commonlisp
mala has quit [Ping timeout: 268 seconds]
mala has joined #commonlisp
igemnace has quit [Read error: Connection reset by peer]
zetef has joined #commonlisp
foretspaisibles has quit [Ping timeout: 260 seconds]
danse-nr3 has joined #commonlisp
mm007emko has joined #commonlisp
igemnace has joined #commonlisp
mm007emko has quit [Read error: Connection reset by peer]
danse-nr3 has quit [Remote host closed the connection]
danse-nr3 has joined #commonlisp
dnhester has quit [Ping timeout: 260 seconds]
mm007emko has joined #commonlisp
amb007 has quit [Ping timeout: 272 seconds]
Josh_2 has quit [Ping timeout: 272 seconds]
attila_lendvai_ has joined #commonlisp
dajole has quit [Quit: Connection closed for inactivity]
attila_lendvai has quit [Ping timeout: 260 seconds]
Lord_of_Life has quit [Ping timeout: 264 seconds]
Lord_of_Life has joined #commonlisp
mm007emko has quit [Read error: Connection reset by peer]
notzmv has joined #commonlisp
pfdietz has joined #commonlisp
zetef has quit [Ping timeout: 255 seconds]
easye has joined #commonlisp
attila_lendvai_ has quit [Ping timeout: 264 seconds]
mm007emko has joined #commonlisp
mm007emko has quit [Read error: Connection reset by peer]
nij- has joined #commonlisp
random-nick has joined #commonlisp
nij- has quit [Quit: Using Circe, the loveliest of all IRC clients]
nij_ has joined #commonlisp
nij_ is now known as nij-
kevingal has joined #commonlisp
alcor has quit [Ping timeout: 246 seconds]
X-Scale has joined #commonlisp
dnhester has joined #commonlisp
mm007emko has joined #commonlisp
dnhester has quit [Ping timeout: 260 seconds]
mm007emko has quit [Read error: Connection reset by peer]
mm007emko has joined #commonlisp
zetef has joined #commonlisp
mm007emko has quit [Read error: Connection reset by peer]
decweb has joined #commonlisp
ebrasca has joined #commonlisp
anticomputer_ has quit [Ping timeout: 260 seconds]
anticomputer has joined #commonlisp
nij- has quit [Remote host closed the connection]
zetef has quit [Remote host closed the connection]
theBlackDragon has quit [Ping timeout: 268 seconds]
theBlackDragon has joined #commonlisp
danse-nr3 has quit [Ping timeout: 256 seconds]
josrr has joined #commonlisp
random-nick has quit [Ping timeout: 256 seconds]
tyson2 has joined #commonlisp
danse-nr3 has joined #commonlisp
drmeister_ is now known as drmeister
danse-nr3 has quit [Remote host closed the connection]
danse-nr3 has joined #commonlisp
traidare has joined #commonlisp
nij- has joined #commonlisp
nij- has quit [Remote host closed the connection]
nij- has joined #commonlisp
anticomputer has quit [Remote host closed the connection]
anticomputer has joined #commonlisp
nij- has quit [Remote host closed the connection]
nij- has joined #commonlisp
nij- has quit [Client Quit]
nij- has joined #commonlisp
Inline has quit [Ping timeout: 256 seconds]
Inline has joined #commonlisp
notzmv has quit [Ping timeout: 260 seconds]
thuna`` has joined #commonlisp
dnhester has joined #commonlisp
varjag has quit [Ping timeout: 240 seconds]
tok has quit [Remote host closed the connection]
thuna` has joined #commonlisp
thuna` has quit [Client Quit]
unl0ckd has joined #commonlisp
thuna` has joined #commonlisp
thuna``` has joined #commonlisp
tok has joined #commonlisp
thuna``` has quit [Client Quit]
chomwitt has joined #commonlisp
thuna` has quit [Ping timeout: 260 seconds]
waleee has joined #commonlisp
rtypo has joined #commonlisp
thuna` has joined #commonlisp
zxcvz has joined #commonlisp
kevingal has quit [Ping timeout: 264 seconds]
thuna` has quit [Quit: out]
thuna` has joined #commonlisp
alcor has joined #commonlisp
danse-nr3 has quit [Ping timeout: 255 seconds]
danse-nr3 has joined #commonlisp
chomwitt has quit [Ping timeout: 255 seconds]
thuna`` has quit [Quit: Quit]
skeemer has quit [Ping timeout: 264 seconds]
leungbk has quit [Ping timeout: 252 seconds]
zetef has joined #commonlisp
lucasta has joined #commonlisp
mm007emko has joined #commonlisp
mm007emko has quit [Read error: Connection reset by peer]
mm007emko has joined #commonlisp
bendersteed has quit [Quit: bendersteed]
unl0ckd has quit [Ping timeout: 268 seconds]
anticomputer_ has joined #commonlisp
anticomputer has quit [Ping timeout: 260 seconds]
dnhester has quit [Ping timeout: 264 seconds]
vyrsh has joined #commonlisp
nij- has quit [Ping timeout: 255 seconds]
leungbk has joined #commonlisp
waleee has quit [Ping timeout: 264 seconds]
zxcvz has quit [Quit: zxcvz]
tok has quit [Remote host closed the connection]
unl0ckd has joined #commonlisp
leungbk has quit [Ping timeout: 264 seconds]
mm007emko has quit [Ping timeout: 264 seconds]
phadthai has quit [Ping timeout: 272 seconds]
mm007emko has joined #commonlisp
phadthai has joined #commonlisp
a51 has joined #commonlisp
oneeyedalien has joined #commonlisp
oneeyedalien has quit [Max SendQ exceeded]
oneeyedalien has joined #commonlisp
oneeyedalien has quit [Max SendQ exceeded]
oneeyedalien has joined #commonlisp
yitzi has joined #commonlisp
ldb has joined #commonlisp
igemnace has quit [Quit: WeeChat 4.2.1]
Cymew has quit [Ping timeout: 260 seconds]
<ldb>
good morning
unl0ckd has quit [Ping timeout: 268 seconds]
<beach>
Hello ldb.
kevingal has joined #commonlisp
mm007emko has quit [Ping timeout: 252 seconds]
chomwitt has joined #commonlisp
wacki has joined #commonlisp
brokkoli_origina has quit [Quit: (Leaving)]
lucasta has quit [Remote host closed the connection]
brokkoli_origin has joined #commonlisp
danse-nr3 has quit [Ping timeout: 260 seconds]
brokkoli_origin has quit [Remote host closed the connection]
pfdietz has quit [Quit: Client closed]
brokkoli_origin has joined #commonlisp
random-nick has joined #commonlisp
anticomputer_ has quit [Remote host closed the connection]
rtypo has quit [Ping timeout: 255 seconds]
anticomputer has joined #commonlisp
anticomputer has quit [Remote host closed the connection]
anticomputer has joined #commonlisp
chiselfuse has quit [Ping timeout: 260 seconds]
ldb has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.1)]
jmdaemon has joined #commonlisp
chiselfuse has joined #commonlisp
danse-nr3 has joined #commonlisp
thuna` has quit [Read error: Connection reset by peer]
chiselfuse has quit [Remote host closed the connection]
danse-nr3 has quit [Remote host closed the connection]
pfdietz has joined #commonlisp
danse-nr3 has joined #commonlisp
vyrsh has quit [Quit: Konversation terminated!]
danse-nr3 has quit [Remote host closed the connection]
chiselfuse has joined #commonlisp
alcor has quit [Remote host closed the connection]
alcor has joined #commonlisp
jmdaemon has quit [Ping timeout: 255 seconds]
Inline has quit [Quit: Leaving]
tyson2 has quit [Read error: Connection reset by peer]
rtypo has joined #commonlisp
vyrsh has joined #commonlisp
jmdaemon has joined #commonlisp
flip214 has quit [Read error: Connection reset by peer]
zetef has quit [Remote host closed the connection]
flip214 has joined #commonlisp
Fare has joined #commonlisp
occ has quit [Ping timeout: 264 seconds]
occ has joined #commonlisp
mgl has quit [Ping timeout: 256 seconds]
davep has joined #commonlisp
vyrsh has quit [Quit: Konversation terminated!]
awlygj has quit [Quit: leaving]
cage has joined #commonlisp
jmdaemon has quit [Ping timeout: 272 seconds]
X-Scale has quit [Quit: Client closed]
vyrsh has joined #commonlisp
jmdaemon has joined #commonlisp
waleee has joined #commonlisp
tyson2 has joined #commonlisp
pfdietz has quit [Quit: Client closed]
chomwitt has quit [Ping timeout: 272 seconds]
vyrsh has quit [Ping timeout: 260 seconds]
vyrsh has joined #commonlisp
chomwitt has joined #commonlisp
kevingal has quit [Ping timeout: 260 seconds]
kevingal has joined #commonlisp
vyrsh has quit [Quit: Konversation terminated!]
jmdaemon has quit [Ping timeout: 260 seconds]
chomwitt has quit [Ping timeout: 264 seconds]
unl0ckd has joined #commonlisp
pfdietz has joined #commonlisp
kamafam has quit [Read error: Connection reset by peer]
kevingal has quit [Read error: Connection reset by peer]
jmdaemon has joined #commonlisp
lispmacs[work] has joined #commonlisp
kevingal has joined #commonlisp
zxcvz has joined #commonlisp
<lispmacs[work]>
I was wanting to make some tests to check math output on a few functions. thinking simplet because it looked simple - wanting minimal time investment. But I'm confused about where to put the tests. Are test files designated in some special way in defpackage or defsystem? Does asdf treat them special somehow?
zxcvz has quit [Client Quit]
cage has quit [Quit: rcirc on GNU Emacs 29.2]
dustinm` has quit [Quit: Leaving]
msavoritias has quit [Remote host closed the connection]
pfdietz has quit [Quit: Client closed]
dustinm` has joined #commonlisp
chomwitt has joined #commonlisp
mm007emko has joined #commonlisp
mm007emko has quit [Read error: Connection reset by peer]
mm007emko has joined #commonlisp
thuna` has joined #commonlisp
unl0ckd has quit [Ping timeout: 268 seconds]
_cymew_ has quit [Ping timeout: 264 seconds]
nij- has joined #commonlisp
davep has quit [Quit: Connection closed for inactivity]
pfdietz has joined #commonlisp
jmdaemon has quit [Ping timeout: 264 seconds]
reb has joined #commonlisp
_cymew_ has joined #commonlisp
_cymew_ has quit [Ping timeout: 264 seconds]
yitzi has quit [Remote host closed the connection]
zetef has joined #commonlisp
nij- has quit [Ping timeout: 260 seconds]
amb007 has joined #commonlisp
attila_lendvai_ has joined #commonlisp
<kagevf_>
lispmacs[work]: I don't know about any special designations, but maybe you could put the tests in their own system and they have the subject package in the test system's :depends-on
<kagevf_>
or maybe checkout something like cl-project or similar and see what its suggestion is
Arthur__ has quit [Changing host]
Arthur__ has joined #commonlisp
Algernon69 has joined #commonlisp
Algernon666 has quit [Ping timeout: 256 seconds]
unl0ckd has joined #commonlisp
unl0ckd has quit [Ping timeout: 268 seconds]
decweb has quit [Quit: Konversation terminated!]
traidare has quit [Ping timeout: 268 seconds]
kevingal has quit [Read error: Connection reset by peer]
skeemer has joined #commonlisp
X-Scale has joined #commonlisp
kevingal has joined #commonlisp
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
zetef has quit [Remote host closed the connection]
alcor has quit [Read error: Connection reset by peer]
pillton has joined #commonlisp
shka has quit [Ping timeout: 264 seconds]
tyson2` has joined #commonlisp
<Shinmera>
the only special part is hooking asdf up so (asdf:test-system :foo) works
<Shinmera>
but there's no actual error catching or report integration or anything
<Shinmera>
so the use of that is rather limited
attila_lendvai_ has quit [Ping timeout: 272 seconds]
tyson2 has quit [Ping timeout: 268 seconds]
mgl has joined #commonlisp
amb007 has quit [Ping timeout: 272 seconds]
pfdietz has quit [Quit: Client closed]
pfdietz has joined #commonlisp
<younder>
cl-project uses rove which has better features
tfeb has joined #commonlisp
reb has quit [Read error: Connection reset by peer]
reb has joined #commonlisp
tfeb has quit [Client Quit]
mm007emko has quit [Read error: Connection reset by peer]
chomwitt has quit [Quit: WeeChat 3.8]
mm007emko has joined #commonlisp
amb007 has joined #commonlisp
davep has joined #commonlisp
reb has quit [Ping timeout: 272 seconds]
<jmercouris>
I have a new peculiar problem, I have a multi-threaded application, and I need to shadow a function used in another thread, and then unshadow it to revert to the original implementation
<jmercouris>
what kind of pattern might I use to do that?
<jmercouris>
I could of course use a sort of global variable to define which function to use
X-Scale has quit [Ping timeout: 250 seconds]
<jmercouris>
but is there another way? something like flet, but with global scope?
<bike>
there's nothing built in. you could do something with unwind-protect, but i would try to find another way to do it if possible. your implementation may not guarantee that (setf fdefinition) is even atomic.
<bike>
not to mention all the possible concurrency weirdness that could happen
<jmercouris>
bike: OK, thank you for your advice
<jmercouris>
you always provide very straightforward advice, I appreciate it
<bike>
i'm not sure i understand the context. you want thread A to redefine a global function F, which is in concurrently use by thread B?
<bike>
concurrently in use*
<bike>
you are welcome
<jmercouris>
yes, that is the context
<jmercouris>
F will be called by B at some later time, and I want it to use my replacement function X for a single invokation, and then go back to being F
<jmercouris>
if it was synchronous, flet would make a lot of sense...
<bike>
flet is just lexical, it's not going to affect anything in another thread
<jmercouris>
I know, I am just thinking out loud, it would be nice
<bike>
and in this case it sounds like A doesn't actually undo the redefinition later, or at least doesn't have to
<jmercouris>
A doesn't have to undo the redefinition, X can undo itself
<jmercouris>
X can transform itself back to F
<kagevf_>
jmercouris: can you use a globally visible variable and put any updates to it in a critical section? use something like (bt:with-lock-held (*queue-lock*) (setf *the-function* #'one-of-the-functions))
<jmercouris>
kagevf_: right, that's what I meant by using a global variable
<bike>
yeah, that's probably safest. or do setf fdefinition in a lock, but you'd want B to read the fdefinition in a lock also.
mgl has quit [Ping timeout: 264 seconds]
<pillton>
jmercouris: Why even attempt to do this? This sounds like a nightmare to remember in six months time.
<jmercouris>
pillton: I didn't come up with this design
<jmercouris>
I am trying to compensate for complexities of yore
<jmercouris>
I will refactor with time
<kagevf_>
alternatively, if the thing consuming the function knows which one it wants, maybe something like (funcall (if situation-a #'func-a #'func-b))
<jmercouris>
I don't want the thing consuming the function to know that
<kagevf_>
ok
<jmercouris>
but yes, that would be simpler
<bike>
for maintenance purposes, i would at least make it obvious when B calls the thing that what it calls depends on A. so something like grabbing a lock, or a comment saying HEY THERE'S A WEIRD REDEFINITION THING HERE
<jmercouris>
yeah, I will think about a lock, that is very clear
thuna` has quit [Ping timeout: 264 seconds]
Inline has joined #commonlisp
wbooze has joined #commonlisp
amb007 has quit [Ping timeout: 264 seconds]
<pillton>
I would put all the logic in the function F. Rename F to %F/DEFAULT and then define F to check some shared state to see if a different function needs to be invoked, otherwise invoke %F/DEFAULT.
X-Scale has joined #commonlisp
<jmercouris>
Interesting perspective, I personally don't like the indrection from %internal functions like that. Don't get me wrong, I don't like this indirection either. But at least in this case F need have no knowledge of the outside world, it only knows to always funcall *function-global-reference*
Inline has quit [Remote host closed the connection]
Inline has joined #commonlisp
<jmercouris>
were I to make %f, it would necesitate having knowledge of the outside world, it would have to KNOW the logic that determines when it should do what
<jmercouris>
this makes in inherently unextensible, %f would only grow bigger with each new case that must modify the behavior of F
<jmercouris>
whereas in the design with the global variable, that logic can be freely disseminated and logically located where it needs to change the behavior of F
<jmercouris>
the variants of F are very different, and putting them into one large conditional within the body of a defun would be very challenging, and unextensible
<pillton>
Your application by definition knows everything. You define MY-APPLICATION/F which threads A and B invoke which does what I suggest above. MY-APPLICATION/F can just invoke F when the shared state doesn't indicate everything.
<jmercouris>
I'm sorry, I don't quite understand what you're saying
<jmercouris>
did you mean to say s/everything/anything?
<pillton>
Regarding "F does not need to have knowledge of the outside world". Sure fine. Somewhere in your application you have knowledge of the outside world. You need that knowledge to be accessed by threads A and B. You don't need to change the definition of F. You could have threads A and B call a different function which has knowledge of the "outside" world.
dino_tutter has quit [Ping timeout: 255 seconds]
<kagevf_>
all the decision logic would be in my-application/F
<kagevf_>
which would help with maintenance
kagevf_ is now known as kagevf
tyson2` has quit [Remote host closed the connection]