toorevitimirp has quit [Ping timeout: 240 seconds]
Josh_2 has quit [Ping timeout: 264 seconds]
toorevitimirp has joined #lisp
Jeanne-Kamikaze has joined #lisp
davepdotorg has joined #lisp
Kaisyu has joined #lisp
toorevitimirp has quit [Remote host closed the connection]
toorevitimirp has joined #lisp
toorevitimirp has quit [Remote host closed the connection]
toorevitimirp has joined #lisp
joast has joined #lisp
torbo has quit [Remote host closed the connection]
Oladon has joined #lisp
wxie has joined #lisp
jesse1010 has quit [Ping timeout: 260 seconds]
Volt_ has quit [Ping timeout: 260 seconds]
torbo has joined #lisp
Stanley00 has joined #lisp
vegansbane0 has joined #lisp
vegansbane has quit [Ping timeout: 260 seconds]
vegansbane0 is now known as vegansbane
<markasoftware>
Why is enough-namestring not enough-pathname? Why can't it just return a pathname with a relative directory?
john__ has joined #lisp
gaqwas has quit [Ping timeout: 256 seconds]
Alfr_ has joined #lisp
zaquest has quit [Quit: Leaving]
torbo has quit [Remote host closed the connection]
Alfr has quit [Ping timeout: 240 seconds]
davepdotorg has quit [Ping timeout: 272 seconds]
zaquest has joined #lisp
<beach>
Good morning everyone!
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
Stanley|00 has joined #lisp
Stanley00 has quit [Disconnected by services]
Stanley|00 is now known as Stanley00
StevePerkins has joined #lisp
davepdotorg has joined #lisp
Mawile has joined #lisp
soul11201 has joined #lisp
StevePerkins has quit [Ping timeout: 260 seconds]
davepdotorg has quit [Ping timeout: 244 seconds]
soul11201 has quit [Remote host closed the connection]
soul11201 has joined #lisp
Archenoth has quit [Ping timeout: 256 seconds]
gravicappa has joined #lisp
xrash has quit [Read error: Connection reset by peer]
mindCrime_ has quit [Ping timeout: 244 seconds]
shangul has joined #lisp
wxie has quit [Ping timeout: 272 seconds]
<contrapunctus>
Morning beach
shifty has quit [Remote host closed the connection]
shifty has joined #lisp
<borei>
good morning/good afternoon !
<contrapunctus>
So I was just wondering how it's sometimes difficult in Emacs (or any long-running system) to go back to a previous state without restarting. And perhaps one way of doing that could be to serialize the state (or just the changes) each time something changes, and rollback to the desired state. Would this be possible to do for a CL program, ideally in an implementation-portable way?
<beach>
Depending on what kind of state changes you want to roll back, that could be very tricky.
Jeanne-Kamikaze has quit [Ping timeout: 260 seconds]
<no-defun-allowed>
I had previously written an implementation of "worlds" which are a kind of software transactional memory, allowing one to encapsulate changes to objects in worlds, which would only be visible from them (until committed). But that is slow, and would require everything to use the metaclass that makes it work.
shka_ has joined #lisp
<no-defun-allowed>
Bar the huge slowdown, you could make that work if the environment was in a world, and if you could revert a world's changes.
<contrapunctus>
beach: why's that? Also, Smalltalks do something like this, right? 🤔
<no-defun-allowed>
From what I read on Smalltalk, not really. Smalltalk logs the changes you make, but you have to re-apply those selectively in a new image to "roll back".
Bike has quit [Quit: night]
<no-defun-allowed>
And neither is any good for changes to the external world (like file system, sockets, etc).
aartaka has joined #lisp
<beach>
contrapunctus: The semantics are defined in terms of global side effects. That makes everything hard.
aartaka has quit [Read error: Connection reset by peer]
shangul has quit [Quit: Leaving]
dominic34 has quit [Ping timeout: 272 seconds]
Oladon has quit [Quit: Leaving.]
quazimod1 has joined #lisp
quazimodo has quit [Ping timeout: 256 seconds]
xrash has joined #lisp
<borei>
hmm, i have question about "proper tools usage", i know that there is no direct answer for such question, and in most cases it is "up to you", but still. So, lisp conditional system, first impression was that it's pretty complicated system, using several "ifs" and return code all my problems can be solved. But as a learning part i decided to try it, and found it so powerful, that not only exception/error handling can be implemented in very
<borei>
flexible way, but also logging functionality can be added. On the flip side, going further and using such approach, i afraid that my program will turn into monster.
space_otter has joined #lisp
vegansbane4 has joined #lisp
<moon-child>
borei: you can frequently use 'cond' in place of 'several "ifs"'
<borei>
yep yep
vegansbane has quit [Ping timeout: 272 seconds]
vegansbane4 is now known as vegansbane
<borei>
question is a bit more fundamental - is lisp conditional system a proper tool to implement logging functionality, or it's too much.
Oladon has joined #lisp
<no-defun-allowed>
Using weird return codes is a good way to blow your foot off, so you definitely should use conditions instead. Using SIGNAL to tell a logging library that calls into your code wouldn't be a bad idea though.
narimiran has joined #lisp
<borei>
i got to such question, because when you are intercepting error or exception, and when you are handling it - it's pretty useful to generate some log information about what happen, developing that idea a bit further - not only error conditions can generate logs, but also normal workflow.
<borei>
no-defun-allowed: im thinking about it, but will it be too expensive from performance standpoint, and will it be too bulky from the code standpoint. Generate signal - not a big problem, there should be handlers to catch and process that signal - that part im not comfortable with, don't know why.
Lord_of_Life_ has joined #lisp
<no-defun-allowed>
What would the performance of the logging library look like?
<no-defun-allowed>
Writing to a terminal or file isn't free either.
<borei>
conf-get-failure - eventually can log to arbitrary destination
<no-defun-allowed>
If you use SIGNAL instead of ERROR, you do not have to wrap the logging code in a RESTART-CASE (as it won't force non-local transfer of control).
<borei>
yep yep
<borei>
just wanted to say it
<no-defun-allowed>
Oh, also, you could reproduce the effects by replacing (SIGNAL ... :MESSAGE m) with (FUNCALL *LOGGER* m) and the HANDLER-BIND with (LET ((*LOGGER* <function>)) ...), which wouldn't have to search for a handler and would thus be faster (and more direct).
<borei>
that is gonna be next step for me - optimization.
<no-defun-allowed>
Using a dynamic variable would be more to the point about what you're doing.
<borei>
im trying to understand if that implementation make sense, or it's example of "how not to do" because of luck of knowledge
narimiran has quit [Ping timeout: 264 seconds]
bocaneri has joined #lisp
narimiran has joined #lisp
<beach>
Wow, Robert C Martin (a.k.a. Uncle Bob) gave a keynote speech (somewhere) called "The Last Programming Language" available on YouTube. It is filled with arguments in favor of Common Lisp. He chooses Clojure in the end, but almost all of the arguments are valid for Common Lisp as well. Automatic memory management, homoiconicity, multi paradigm, etc.
<beach>
He is a bit goofy, but I have decided he knows what he is talking about, and that the goofiness is only hist presentation style.
<beach>
s/hist/his/
SaganMan has joined #lisp
<beach>
He also talks about Emacs, and he thinks its inherent power (that he credits to Lisp) will ultimately make it more powerful than the IDEs that he uses and knows very well, mainly for Java, I would think.
davepdotorg has joined #lisp
treflip has joined #lisp
<beach>
I only realized fairly recently that "Uncle Bob" is not just a fad-pushing, self-proclaimed, buffoon guru, but that he actually knows what he is talking about. Given his authority, combined with his conviction about the power of Lisp (and his willingness to talk openly about it), things might actually move in the right direction.
davepdotorg has quit [Ping timeout: 272 seconds]
malm has quit [Quit: Bye bye]
malm has joined #lisp
bilegeek has quit [Quit: Leaving]
Oladon has quit [Quit: Leaving.]
orivej has joined #lisp
_jrjsmrtn has quit [Ping timeout: 260 seconds]
ark has quit [Ping timeout: 240 seconds]
scymtym has joined #lisp
borei has quit [Ping timeout: 272 seconds]
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
ljavorsk has joined #lisp
schweers has joined #lisp
jonatack has quit [Ping timeout: 272 seconds]
ex_nihilo has quit [Quit: Leaving]
supercoven has joined #lisp
Fare has quit [Ping timeout: 240 seconds]
johs has quit [Ping timeout: 240 seconds]
jerme_ has quit [Ping timeout: 240 seconds]
bitmapper has quit [Ping timeout: 240 seconds]
chewbranca has quit [Ping timeout: 240 seconds]
yonkunas has quit [Ping timeout: 244 seconds]
avicenna has quit [Ping timeout: 240 seconds]
conjunctive has quit [Ping timeout: 240 seconds]
XachX has quit [Ping timeout: 244 seconds]
johs has joined #lisp
lukego has quit [Ping timeout: 260 seconds]
mpontillo has quit [Ping timeout: 260 seconds]
ffwacom has quit [Ping timeout: 260 seconds]
mjl has quit [Ping timeout: 260 seconds]
physpi has quit [Ping timeout: 260 seconds]
XachX has joined #lisp
dnm has quit [Ping timeout: 240 seconds]
bytesighs has quit [Ping timeout: 240 seconds]
sgithens has quit [Ping timeout: 240 seconds]
stylewarning has quit [Ping timeout: 244 seconds]
entel has quit [Ping timeout: 244 seconds]
drmeister has quit [Ping timeout: 244 seconds]
CEnnis91 has quit [Ping timeout: 244 seconds]
Kaisyu has quit [Ping timeout: 272 seconds]
tfb has quit [Ping timeout: 260 seconds]
alanz_ has quit [Ping timeout: 260 seconds]
ark has joined #lisp
rme has quit [Ping timeout: 260 seconds]
Cymew has joined #lisp
sgithens has joined #lisp
bitmapper has joined #lisp
conjunctive has joined #lisp
physpi has joined #lisp
jerme_ has joined #lisp
ffwacom has joined #lisp
lukego has joined #lisp
tfb has joined #lisp
mjl has joined #lisp
yonkunas has joined #lisp
alanz_ has joined #lisp
chewbranca has joined #lisp
avicenna has joined #lisp
dnm has joined #lisp
mpontillo has joined #lisp
drmeister has joined #lisp
entel has joined #lisp
bytesighs has joined #lisp
stylewarning has joined #lisp
rme has joined #lisp
CEnnis91 has joined #lisp
Kaisyu has joined #lisp
vegansbane6 has joined #lisp
vegansbane has quit [Ping timeout: 264 seconds]
vegansbane6 is now known as vegansbane
random-nick has joined #lisp
soul11201 has quit [Remote host closed the connection]
soul11201 has joined #lisp
soul11201 has quit [Client Quit]
C-16 has quit [Quit: leaving]
C-16 has joined #lisp
__jrjsmrtn__ has joined #lisp
scymtym has quit [Ping timeout: 264 seconds]
davepdotorg has joined #lisp
jonatack has joined #lisp
davepdotorg has quit [Ping timeout: 272 seconds]
Lycurgus has joined #lisp
galex-713 has quit [Ping timeout: 272 seconds]
scymtym has joined #lisp
pve has joined #lisp
shifty has quit [Ping timeout: 240 seconds]
shifty has joined #lisp
treflip has quit [Ping timeout: 260 seconds]
jonatack has quit [Ping timeout: 240 seconds]
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
jonatack has joined #lisp
contrapunctus has joined #lisp
Inline has quit [Ping timeout: 272 seconds]
shifty has quit [Ping timeout: 272 seconds]
contrapunctus has left #lisp ["Disconnected: closed"]
liberliver has quit [Remote host closed the connection]
liberliver has joined #lisp
contrapunctus has joined #lisp
hendursa1 has joined #lisp
hendursaga has quit [Ping timeout: 240 seconds]
jw4 has quit [Read error: Connection reset by peer]
jw4 has joined #lisp
lottaquestions has quit [Quit: Konversation terminated!]
davepdotorg has joined #lisp
dilated_dinosaur has joined #lisp
drewc has quit [Ping timeout: 256 seconds]
drewc has joined #lisp
ineiros has joined #lisp
EvW has joined #lisp
lottaquestions has joined #lisp
datajerk has quit [Ping timeout: 272 seconds]
karlosz has quit [Quit: karlosz]
d4ryus has quit [Quit: WeeChat 2.9]
davepdotorg has quit [Remote host closed the connection]
datajerk has joined #lisp
davepdotorg has joined #lisp
d4ryus has joined #lisp
iissaacc has joined #lisp
no-defun-allowed has quit [Quit: killed]
camlriot42 has quit [Quit: killed]
katco has quit [Quit: killed]
infra_red[m] has quit [Quit: killed]
sammich has quit [Quit: killed]
wwolf[m] has quit [Quit: killed]
cairn has quit [Quit: killed]
even4void[m] has quit [Quit: killed]
kelamir[m] has quit [Quit: killed]
kinope has quit [Quit: killed]
materialfuture[m has quit [Quit: killed]
MrtnDk[m] has quit [Quit: killed]
fwoaroof[m] has quit [Quit: killed]
Gnuxie[m] has quit [Quit: killed]
gaqwas[m] has quit [Quit: killed]
justache has quit [Max SendQ exceeded]
justache has joined #lisp
Lycurgus has quit [Quit: Exeunt]
cosimone has joined #lisp
wxie has joined #lisp
vegansbane7 has joined #lisp
cosimone has quit [Client Quit]
cosimone has joined #lisp
vegansbane has quit [Ping timeout: 260 seconds]
vegansbane7 is now known as vegansbane
cosimone has quit [Remote host closed the connection]
toorevitimirp has quit [Ping timeout: 240 seconds]
luckless has quit [Ping timeout: 240 seconds]
wxie has quit [Ping timeout: 260 seconds]
MrtnDk[m] has joined #lisp
luckless has joined #lisp
galex-713 has joined #lisp
MrtnDk[m] has quit [Remote host closed the connection]
davepdotorg has quit [Remote host closed the connection]
xrash has quit [Read error: Connection reset by peer]
Kaisyu has quit [Quit: Connection closed for inactivity]
space_otter has quit [Remote host closed the connection]
<ebzzry>
Has somebody built SBCL 2.0.8 for Windows?
Lord_of_Life_ has joined #lisp
gravicappa has quit [Ping timeout: 272 seconds]
shifty has joined #lisp
<beach>
You mean there are still people using Windows? Amazing!
gravicappa has joined #lisp
Lord_of_Life has quit [Ping timeout: 240 seconds]
Lord_of_Life_ is now known as Lord_of_Life
<ebzzry>
beach: Yup—customers!
Cymew has joined #lisp
Inline has joined #lisp
Cymew has quit [Ping timeout: 240 seconds]
edgar-rft has quit [Remote host closed the connection]
karlosz has joined #lisp
MichaelRaskin has joined #lisp
edgar-rft has joined #lisp
<beach>
:(
jprajzne has joined #lisp
shifty has quit [Ping timeout: 260 seconds]
shifty has joined #lisp
orivej has joined #lisp
<Inline>
huh ?
vegansbane2 has joined #lisp
vegansbane has quit [Ping timeout: 260 seconds]
vegansbane2 is now known as vegansbane
reggieperry has quit [Ping timeout: 272 seconds]
kaftejiman has joined #lisp
reggieperry has joined #lisp
cosimone has quit [Quit: Quit.]
cosimone has joined #lisp
rogersm has joined #lisp
<mseddon>
beach: Sadly I need to write Direct3D code from time to time. No Windows, no D3D.
<ebzzry>
SBCL 2.0.8 doesn’t compile on Windows, right?
<mseddon>
ebzzry: I have never tried, I use their redistributables, or just host it in WSL
<mseddon>
(the latter is handy in conjuction with an x-client if you want to do CLIM etc, but not a viable distribution mechanism of course)
<mseddon>
I would perhaps ask in #sbcl
<ebzzry>
I will.
<ebzzry>
WSL can indeed launch exes produced by SBCL.
ech has quit [Ping timeout: 240 seconds]
<mseddon>
ebzzry: if you haven't already, windows terminal is particularly nice, too. it lets you open tabs into any WSL instances you have installed, as well as powershell etc, so thats nice.
ech_ has joined #lisp
<ebzzry>
mseddon: thanks. it's a server app that listens to requests. i did a 'wsl -e program' and it was able to respond properly. i wonder if there's going to be a significant performance hit.
<mseddon>
ebzzry: WSL is actually pretty good for that in my experience, but it would be insane to run that in production, of course.
<ebzzry>
mseddon: why is it insane?
<jackdaniel>
offtopic buzzer rings
<mseddon>
ebzzry: well, if you needed linux, just start with a docker image in the first place.
<mseddon>
indeed.
Oladon has quit [Quit: Leaving.]
<mathrick>
borei: conditions are kind of a misfit for logging, since in a logger, you want to know that things will be seen and recorded where you expect them to. The thing about SIGNAL though is that it will search, starting from the innermost scope, for someone to handle it, and the handler can in principle do something to stop the propagation
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
bocaneri has quit [Remote host closed the connection]
rumbler3_ has joined #lisp
rogersm has quit [Quit: Leaving...]
<mathrick>
borei: conditions are, in essence, the most generic and least coordinated protocol you can have in the language. It is also by necessity not the most efficient one for almost any single thing you apple it to. But since you know your domain and your requirements in a logger, establishing a custom protocol that's more aligned with your requirements is generally better
cosimone has quit [Quit: Quit.]
<mseddon>
e.g. :before method qualifiers are also extremely handy.
<Inline>
huh ?
EvW has joined #lisp
galex-713 has quit [Ping timeout: 246 seconds]
ebzzry has quit [Remote host closed the connection]
orivej has quit [Ping timeout: 272 seconds]
orivej has joined #lisp
<mseddon>
"file-string-length returns the difference between what (file-position stream) would be after writing object and its current value, or nil if this cannot be determined." - is this assuming as if by write, using the pretty printer? the spec is not clear to me here.
<mseddon>
(i.e. respecting all printer special variables, which may include behaviour of *pretty-print*, and the various others if enabled)
<luis>
mseddon: since the object is restricted to a string or a character it doesn't seem like the pretty printer would be involved.
<mseddon>
luis: oh! doh, right. Thanks, I missed that.
akoana has joined #lisp
shifty has quit [Ping timeout: 272 seconds]
shifty has joined #lisp
<mseddon>
btw, there used to be #lisp-gardeners decades ago, where I could post snippets of code to review, is there a good place for me to do that now?
<mseddon>
I'm still feeling a little klunky, it's been quite a while.