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/>
marsia` has joined #commonlisp
marsia has quit [Ping timeout: 252 seconds]
Josh_2 has quit [Ping timeout: 248 seconds]
<phoe> clhs *debugger-hook*
<ixelp> CLHS: Variable *DEBUGGER-HOOK*
<mfiano> Try disect
avocadoist has quit [Quit: Konversation terminated!]
avocadoist has joined #commonlisp
genpaku has quit [Remote host closed the connection]
genpaku has joined #commonlisp
occ has joined #commonlisp
marsia has joined #commonlisp
marsia` has quit [Ping timeout: 248 seconds]
random-nick has quit [Ping timeout: 252 seconds]
avocadoist has quit [Quit: Konversation terminated!]
avocadoist has joined #commonlisp
molson has quit [Remote host closed the connection]
eddof13 has joined #commonlisp
avocadoist has quit [Quit: Konversation terminated!]
avocadoist has joined #commonlisp
dlowe has quit [Ping timeout: 255 seconds]
<Bike> mfiano: yeppers. thanks again
<mfiano> Bike: Really happy to help. conspack was one of my favorite CL libraries, and I'm happy to see you stepping up since it was left to rot a few years ago.
Fade has joined #commonlisp
<mfiano> Even if that means something tiny fixed/improved every few years, it's better than what we had :) (wish I had more time for code and contributing to good ideas)
White_Flame has quit [Remote host closed the connection]
White_Flame has joined #commonlisp
eddof13 has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
Reinhilde is now known as AmyMalik
Inline has quit [Read error: Connection reset by peer]
Inline has joined #commonlisp
Oladon has joined #commonlisp
yottabyte has quit [Quit: Connection closed for inactivity]
<nij-> phoe I see with *debugger-hook* I can let some function runs before #'invoke-debugger. And with #'abort I can overwrite what the debugger would have done. But how do we throw what the debugger would have shown into standard output?
<Bike> you mean the debugger you didn't write?
<nij-> I mean something like `To continue, type :CONTINUE followed by an option number:\n 1: Return to Lisp Toplevel.`
<Bike> so the debugger you didn't write. you can try to redirect the output by binding *debug-io*, but no guarantees
jimmy2shoots has joined #commonlisp
inline__ has joined #commonlisp
Inline has quit [Ping timeout: 252 seconds]
jimmy2shoots has quit [Client Quit]
Fare has quit [Ping timeout: 252 seconds]
Fare has joined #commonlisp
marsia` has joined #commonlisp
marsia has quit [Ping timeout: 248 seconds]
poselyqualityles has joined #commonlisp
occ has quit [Ping timeout: 252 seconds]
nij- has quit [Ping timeout: 248 seconds]
varjagg has quit [Ping timeout: 252 seconds]
occ has joined #commonlisp
varjagg has joined #commonlisp
mingus has joined #commonlisp
varjagg has quit [Ping timeout: 248 seconds]
Lycurgus has joined #commonlisp
GreaseMonkey has quit [Remote host closed the connection]
greaser|q has joined #commonlisp
avocadoist has quit [Quit: Konversation terminated!]
avocadoist has joined #commonlisp
tasty has quit [Quit: rebooting for kernel updates]
Lycurgus has quit [Quit: Exeunt: personae.ai-integration.biz]
inline__ has quit [Remote host closed the connection]
inline__ has joined #commonlisp
pdietz has quit [Ping timeout: 260 seconds]
mingus1 has joined #commonlisp
mingus has quit [Ping timeout: 252 seconds]
mingus1 is now known as mingus
waleee has quit [Ping timeout: 248 seconds]
inline__ has quit [Quit: Leaving]
Inline has joined #commonlisp
deadmarshal_ has quit [Ping timeout: 265 seconds]
dirtcastle has quit [Ping timeout: 246 seconds]
tasty has joined #commonlisp
tasty has quit [Changing host]
tasty has joined #commonlisp
poselyqualityles has quit [Quit: Using Circe, the loveliest of all IRC clients]
VincentVega has joined #commonlisp
VincentV` has joined #commonlisp
deadmarshal_ has joined #commonlisp
VincentVega has quit [Ping timeout: 248 seconds]
tasty has quit [Read error: Connection reset by peer]
judabuda has quit [Quit: Gone.]
igemnace has joined #commonlisp
dirtcastle has joined #commonlisp
tasty has joined #commonlisp
tasty has quit [Changing host]
tasty has joined #commonlisp
masinter has joined #commonlisp
rigidus has joined #commonlisp
frgo has quit [Ping timeout: 248 seconds]
aartaka has joined #commonlisp
Oladon has quit [Quit: Leaving.]
VincentV` is now known as VincentVega
kenran` has joined #commonlisp
prokhor__ has joined #commonlisp
aartaka has quit [Ping timeout: 252 seconds]
mingus has quit [Ping timeout: 252 seconds]
prokhor_ has quit [Ping timeout: 248 seconds]
rgherdt has joined #commonlisp
mingus has joined #commonlisp
pve has joined #commonlisp
avocadoist has quit [Quit: Konversation terminated!]
avocadoist has joined #commonlisp
stanrifkin has joined #commonlisp
mingus has quit [Remote host closed the connection]
mingus has joined #commonlisp
Cymew has joined #commonlisp
shka has joined #commonlisp
Cymew has quit [Quit: Konversation terminated!]
Cymew has joined #commonlisp
Brucio-61 has quit [Ping timeout: 260 seconds]
ttree has quit [Ping timeout: 256 seconds]
greaser|q has quit [Changing host]
greaser|q has joined #commonlisp
greaser|q is now known as GreaseMonkey
Fare has quit [Ping timeout: 255 seconds]
azimut has quit [Ping timeout: 255 seconds]
occ has quit [Ping timeout: 248 seconds]
karlosz has joined #commonlisp
steew has quit [Ping timeout: 246 seconds]
Posterdati has quit [Read error: Connection reset by peer]
VincentVega has left #commonlisp [ERC 5.4 (IRC client for GNU Emacs 28.2)]
occ has joined #commonlisp
random-nick has joined #commonlisp
Posterdati has joined #commonlisp
aartaka has joined #commonlisp
Posterdati has quit [Remote host closed the connection]
Posterdati has joined #commonlisp
steew has joined #commonlisp
Brucio-61 has joined #commonlisp
dlowe has joined #commonlisp
Posterdati has quit [Ping timeout: 260 seconds]
Bocaneri has joined #commonlisp
Sauvin has quit [Ping timeout: 248 seconds]
Bocaneri is now known as Sauvin
dlowe has quit [Remote host closed the connection]
Bocaneri has joined #commonlisp
Bocaneri is now known as Guest4854
Sauvin has quit [Ping timeout: 248 seconds]
Lycurgus has joined #commonlisp
Posterdati has joined #commonlisp
szkl has joined #commonlisp
Guest4854 is now known as Sauvin
mingus1 has joined #commonlisp
mingus has quit [Ping timeout: 248 seconds]
mingus1 is now known as mingus
scymtym has joined #commonlisp
scymtym_ has joined #commonlisp
jmdaemon has quit [Ping timeout: 252 seconds]
scymtym has quit [Ping timeout: 248 seconds]
mingus1 has joined #commonlisp
mingus has quit [Ping timeout: 252 seconds]
mingus1 is now known as mingus
nij- has joined #commonlisp
_cymew_ has joined #commonlisp
<stanrifkin> what's the naming origin of mapcan?
aartaka has quit [Ping timeout: 248 seconds]
<yitzi> like mapcar, but uses nconc versus list to combine. mapca[r->n] probably?
<Shinmera> people keep saying mapcan, but sometimes you just mapcant
<pjb> that, plus length <= 6 on early implementations was good.
<yitzi> Shinmera: Don't discourage map ... you'll give it low self esteem.
<stanrifkin> I wondered about the "can" part.
rei-ayanami has joined #commonlisp
<pjb> stanrifkin: there's also mapcon and maplist (and mapc and mapl) ; probably mapcar comes from mapcar + mapcon
yottabyte has joined #commonlisp
occ has quit [Ping timeout: 246 seconds]
occ has joined #commonlisp
Lycurgus has quit [Quit: Exeunt: personae.ai-integration.biz]
<stanrifkin> seems like it just came from nconc like yitzi said.
aartaka has joined #commonlisp
<yitzi> Picolisp has an alternate theory
<ixelp> PicoLisp Wiki: mapping
<yitzi> basically its mapcon, but since it is like mapcar ... mapc[o->a]n
easye`` is now known as easye
<jackdaniel> maptruck and mapconvict
<_death> it's interesting that MAP was indeed used for many years to do what we call MAPL, and CL designers chose to rename it so they could add what we know as MAP..
<_death> also seems interlisp called what we know as MAPCAN, MAPCONC
aartaka has quit [Ping timeout: 248 seconds]
<_death> jackdaniel: we could have MAPCON use APPEND, and MAPPRO ("nothing bad will happen" optimistic version; also, "professional") use NCONC
<edgar-rft> mapcan was created when they ran out of worms
<_death> worm processing
lagash_ has quit [Remote host closed the connection]
tibfulv has quit [Remote host closed the connection]
<edgar-rft> WORMP
<_death> WORP, a biocomputing dialect of LISP
tibfulv has joined #commonlisp
<splittist> LISP 1.5 'had' MAPLIST (mapcar), MAPCON (mapcan?) and MAP (dolist)
<_death> splittist: nah, maplist and mapcon had the same meaning as nowadays.. map is what we now call mapl
<splittist> _death: ah, ok.
* splittist must brush up on his m-lisp reading skills
lagash_ has joined #commonlisp
tyson2 has joined #commonlisp
<nij-> Hmm.. I've tried (let ((*debug-io* *standard-output*)) (/ 3 0)) but that doesn't print the debugger message to *standard-output*..
<Bike> are you doing this in slime/slimv/whatever?
<pjb> nij-: you need an I/O stream , not an output strem!
<pjb> nij-: check that *standard-output* -> #<swank/gray::slime-output-stream #x302002B189CD>
<pjb> or whatever you want *standard-output* be bound to…
<pjb> nij-: so in general, the correct form is: (let ((*debug-io* (make-two-way-stream (make-string-input-stream (coerce #(#\q #\newline) 'string)) *standard-output*))) (/ 3 0)) ; but swank doesn't use *debug-io*, it uses emacs and sldb.
<pjb> nij-: there are hooks.
<pjb> nij-: here is as an example, what I do to display additionnal info in my sldb buffers: https://termbin.com/vuttl
<pjb> you may need (setf slime-enable-evaluate-in-emacs t) ; perhaps.
<Bike> pretty sure sldb bypasses this stuff so this isn't going to work anyway
<phoe> nij-: you need to write your own debugger that writes to standard output
<phoe> or rather to *debug-io*
<phoe> the standard ones won't do
avocadoist has quit [Quit: Konversation terminated!]
avocadoist has joined #commonlisp
rigidus has quit [Ping timeout: 252 seconds]
avocadoist has quit [Client Quit]
avocadoist has joined #commonlisp
scymtym_ is now known as scymtym
aartaka has joined #commonlisp
Fade is now known as Fade
aartaka has quit [Ping timeout: 264 seconds]
rigidus has joined #commonlisp
rigidus has quit [Read error: Connection reset by peer]
<pjb> nij-: that said, if you write your debugger with CLIM, then you can use *debug-io* for both text output and GUI stuff.
Fare has joined #commonlisp
nij- has quit [Ping timeout: 246 seconds]
<Bike> i'd like some slime opinions. if you try to view source on something (with M-. or sldb v), and the implementation reports that it's in a file, and that file doesn't exist, slime just opens an empty buffer
<Bike> but if additionally the implementation source includes the :align t hint, instead of doing that, emacs just gives you an inscrutable error
<Bike> would it make sense to have slime just report the file doesn't exist instead?
tyson2 has quit [Remote host closed the connection]
bitmapper has joined #commonlisp
<NotThatRPG> :align t ?
<Bike> it's a hint telling slime to go to the next sexp. but since there are no sexps at all emacs doesn't seem to like that.
tyson2 has joined #commonlisp
<beach> Makes sense to me.
pranavats has left #commonlisp [Error from remote client]
kenran` has quit [Remote host closed the connection]
avocadoist has quit [Quit: Konversation terminated!]
avocadoist has joined #commonlisp
ec_ has joined #commonlisp
ec has quit [Ping timeout: 255 seconds]
frgo has joined #commonlisp
frgo has quit [Read error: Connection reset by peer]
frgo has joined #commonlisp
occ has quit [Ping timeout: 248 seconds]
occ has joined #commonlisp
ec has joined #commonlisp
frgo has quit []
ec_ has quit [Ping timeout: 255 seconds]
occ has quit [Ping timeout: 246 seconds]
attila_lendvai has joined #commonlisp
occ has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
rgherdt has quit [Read error: Connection reset by peer]
rgherdt has joined #commonlisp
yottabyte has quit [Quit: Connection closed for inactivity]
azimut has joined #commonlisp
Posterdati has quit [Read error: Connection reset by peer]
jmdaemon has joined #commonlisp
cage has joined #commonlisp
Inline has quit [Read error: Connection reset by peer]
Inline has joined #commonlisp
Posterdati has joined #commonlisp
Posterdati has quit [Read error: Connection reset by peer]
Lycurgus has joined #commonlisp
pranavats has joined #commonlisp
prokhor_ has joined #commonlisp
prokhor__ has quit [Ping timeout: 252 seconds]
Lycurgus has quit [Quit: Exeunt: personae.ai-integration.biz]
ec has quit [Ping timeout: 255 seconds]
Posterdati has joined #commonlisp
ec has joined #commonlisp
_cymew_ has quit [Ping timeout: 246 seconds]
avocadoist has quit [Remote host closed the connection]
avocadoist has joined #commonlisp
simendsjo has joined #commonlisp
aartaka has joined #commonlisp
bitmapper has quit [Quit: Connection closed for inactivity]
tyson2 has joined #commonlisp
aartaka has quit [Ping timeout: 248 seconds]
simendsjo has quit [Remote host closed the connection]
aartaka has joined #commonlisp
pdietz has joined #commonlisp
aartaka has quit [Ping timeout: 252 seconds]
Cymew has quit [Ping timeout: 252 seconds]
aartaka has joined #commonlisp
prokhor__ has joined #commonlisp
prokhor_ has quit [Ping timeout: 260 seconds]
son0p has quit [Ping timeout: 248 seconds]
tyson2 has quit [Remote host closed the connection]
Josh_2 has joined #commonlisp
<Josh_2> In a running SBCL image how can I check what version it is?
<Bike> (lisp-implementation-version)
<Josh_2> Thanks
masinter has quit [Remote host closed the connection]
masinter has joined #commonlisp
frgo has joined #commonlisp
avocadoist has quit [Quit: Konversation terminated!]
avocadoist has joined #commonlisp
avocadoist has quit [Client Quit]
avocadoist has joined #commonlisp
<Josh_2> I can use declaim to specify safety settings for an entire project?
<Josh_2> I want safety 3 speed 1 to be default in this specific project
<Josh_2> in the source as someone else will be building and deploying. I could ask them to change their .sbclrc buttt its easier if I declare it toplevel (if thats a good idea)
<pjb> Josh_2: my advice is not to do that in the project sources. However, you could do that in the asd file, with some :before method I guess. The best is just to do it in your rc file, or in the REPL, before compiling the project.
<pjb> Or in the script you uise to build and deploy it!
<pjb> s/uise/use/
<pjb> Josh_2: the problem is that they are global declarations, so they impact all the code that is compiled after you declare them.
<pjb> So with a compilation, load, and generate image script, you can control it.
<pjb> See for example https://github.com/informatimago/hw generate.lisp and generate-hw.lisp you could add the declarations you want between loading dependencies.
<ixelp> GitHub - informatimago/hw: Hello World, in various programming languages.
<Josh_2> I am using a Makefile to build
<Josh_2> and just loading the project with ql and then using asdf:make
<Josh_2> I could always try using one of the docker images
prokhor_ has joined #commonlisp
prokhor__ has quit [Ping timeout: 252 seconds]
Inline has quit [Ping timeout: 248 seconds]
prokhor has quit [Ping timeout: 248 seconds]
prokhor has joined #commonlisp
son0p has joined #commonlisp
jimmy2shoots has joined #commonlisp
Inline has joined #commonlisp
szkl has quit [Quit: Connection closed for inactivity]
Posterdati has quit [Read error: Connection reset by peer]
Posterdati has joined #commonlisp
<Nilby> Josh_2: perhaps uiop/lisp-build:with-optimization-settings could help?
Posterdati has quit [Read error: Connection reset by peer]
Posterdati has joined #commonlisp
sjl has quit [Quit: WeeChat 3.6]
Lycurgus has joined #commonlisp
Brucio-61 has quit [Read error: Connection reset by peer]
Brucio-61 has joined #commonlisp
<pjb> Josh_2: obviously, there's a Makefile in the hw example project.
aartaka has quit [Ping timeout: 252 seconds]
aartaka has joined #commonlisp
Lycurgus has quit [Quit: Exeunt: personae.ai-integration.biz]
cage has quit [Quit: rcirc on GNU Emacs 28.2]
<Josh_2> I am so used to building apps on my machine and uploading them to my vps that it is very strange trying to get it all written down for someone else
avocadoist has quit [Quit: Konversation terminated!]
avocadoist has joined #commonlisp
avocadoist has quit [Client Quit]
avocadoist has joined #commonlisp
jimmy2shoots has quit [Quit: WeeChat 3.5]
igemnace has quit [Remote host closed the connection]
pdietz has quit [Quit: Client closed]
avocadoist has quit [Quit: Konversation terminated!]
avocadoist has joined #commonlisp
rgherdt has quit [Remote host closed the connection]
aartaka has quit [Ping timeout: 252 seconds]
avocadoist has quit [Quit: Konversation terminated!]
avocadoist has joined #commonlisp
Lord_of_Life_ has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 252 seconds]
Lord_of_Life_ is now known as Lord_of_Life
varjagg has joined #commonlisp
shka has quit [Ping timeout: 246 seconds]
shka has joined #commonlisp
szkl has joined #commonlisp
avocadoist has quit [Quit: Konversation terminated!]
avocadoist has joined #commonlisp
<char[m]> Bike: the printout of (ctype:specifier-ctype '(vector integer)) appears to have lost the "integer" part. It is actually still there though. Why doesn't it print out something including "integer" instead of just simple-vector? The printing of the carray part is strange to me as well.
avocadoist has quit [Client Quit]
avocadoist has joined #commonlisp
<Bike> ctype does the CL type system, which for most purposes ignores expressed array element types
hashfunc has joined #commonlisp
defaultxr has quit [Quit: defaultxr]
defaultxr has joined #commonlisp
Oladon has joined #commonlisp
<char[m]> I see that is rather alarming. (typep (vector 1 2 3) '(vector string)) is t!
random-nick has quit [Ping timeout: 268 seconds]
random-jellyfish has joined #commonlisp
shka has quit [Ping timeout: 268 seconds]
waleee has joined #commonlisp
ec has quit [Ping timeout: 255 seconds]
ec has joined #commonlisp
<Josh_2> Use classes problem solved :sunglasses:
stanrifkin has quit [Quit: Leaving]
attila_lendvai has quit [Ping timeout: 260 seconds]
karlosz has quit [Quit: karlosz]
<Nilby> but (typep (make-array 3 :element-type 'fixnum) '(vector string)) ⇒ NIL, so if you want the possibility of a specific type array, you can't just use vector which holds anything
occ has quit [Ping timeout: 252 seconds]
<char[m]> Josh_2: I agree, but many libraries make heavy use of build in data structures. Good pointNilby
waleee has quit [Quit: WeeChat 3.8]
waleee has joined #commonlisp
karlosz has joined #commonlisp
<paulapatience> <char[m]> "I see that is rather alarming..." <- Use upgraded-array-element-type to see what element type a vector will end up with
nij- has joined #commonlisp
<nij-> phoe hmmm I suppose sbcl's debugger send its message to *debug-io*. If that's the case, it should be able to print that message by redirecting it to *standard-output*, no?
jmdaemon has quit [Ping timeout: 248 seconds]
<nij-> Bike, pjb I'm using sly, yes. But lemme first resolve it in a terminal based sbcl repl.
<nij-> pjb: this does not do what I expected: (let ((*debug-io* (make-two-way-stream (make-string-input-stream (coerce #(#\q #\newline) 'string)) *standard-output*))) (/ 3 0))
<Bike> nij-: okay but: sly is not going to output to a normal stream, since it's part of a whole UI. i think you are doomed.
<nij-> Did you expect me to change it with some common sense?
<Bike> what?
<nij-> It's fine. I am happy to have that in a terminal-based repl for now.
<Bike> but even then it's not really stable. the debugger is meant to be interactive. if you want a non interactive experience you should turn off the debugger.
<Bike> what the debugger prints is arbitrary and not machine readable. if you want to control debugger output you will need to write your own debugger. doing so is not all that difficult either.
hashfunc has quit [Ping timeout: 252 seconds]
nij- has quit [Ping timeout: 248 seconds]
nij- has joined #commonlisp