p_l changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language | <https://irclog.tymoon.eu/freenode/%23lisp> <https://irclog.whitequark.org/lisp> <http://ccl.clozure.com/irc-logs/lisp/> | ASDF 3.3.4
<not_a_seagull> I did the bash wrapper but now it says that I need to specify a port; can I just choose any old port or does FCGI have a port that it needs?
<jasom> what do you mean?
<not_a_seagull> `2020-05-06 16:58:34: (mod_fastcgi.c.1454) port has to be set in: fastcgi.server = ( .cl => ( localhost ( ...`
arpunk has joined #lisp
<jasom> you need either "socket" or "oprt" and "host" set
<not_a_seagull> Can I choose any unused port for the port?
<jasom> I thought you were using a domain socket?
<not_a_seagull> I only did that because the tutorial I was following did it for PHP
wxie has joined #lisp
<jasom> or yes, just any unused port will be fine if you want to use TCP
<not_a_seagull> I'll try that
<not_a_seagull> I tried that and it went into a loop of errors
<not_a_seagull> I think I'm going to drop this project for now. Thanks for your help
<jasom> np
not_a_seagull has quit [Remote host closed the connection]
stoneglass has quit [Quit: stoneglass]
u_u has joined #lisp
jprajzne has quit [Quit: jprajzne]
zaquest has quit [Quit: Leaving]
jruiz has joined #lisp
karlosz has quit [Quit: karlosz]
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
shangul has quit [Ping timeout: 256 seconds]
u_u has quit [Ping timeout: 272 seconds]
vladomiro has quit [Quit: Leaving]
zaquest has joined #lisp
yankM has joined #lisp
buffergn0me has joined #lisp
jruiz has quit [Ping timeout: 260 seconds]
bitmapper has quit [Ping timeout: 246 seconds]
edgar-rft has quit [Ping timeout: 240 seconds]
edgar-rft has joined #lisp
dddddd has quit [Remote host closed the connection]
buffergn0me has quit [Remote host closed the connection]
buffergn0me has joined #lisp
buffergn0me has quit [Remote host closed the connection]
buffergn0me has joined #lisp
CrazyPython has joined #lisp
kark has quit [Quit: ZNC 1.7.2+deb3 - https://znc.in]
rpg has joined #lisp
ebrasca has quit [Remote host closed the connection]
EvW has quit [Ping timeout: 260 seconds]
CrazyPython has quit [Read error: Connection reset by peer]
<ober> is there a way in slime to shortcut key the ABORT restart? without having to expand the Restarts: --more-- portion to see the corresponding number?
<no-defun-allowed> I think the key A aborts?
<pjb> type C-h m
<ober> thanks
Necktwi has joined #lisp
Bike has quit [Quit: Lost terminal]
kark has joined #lisp
wxie1 has joined #lisp
wxie has quit [Ping timeout: 244 seconds]
wxie1 is now known as wxie
shifty has quit [Ping timeout: 264 seconds]
<jason_m> I'm using cl-json to work with some json data. At one point I'm decoding the json into a fluid object (https://common-lisp.net/project/cl-json/cl-json.html#PROPERTIES-OF-FLUID-OBJECTS). It looks like all or almost all of the slots in the fluid object are duplicated. I suspect that is the cause of an error I am hitting where my application says the slot is not bound. https://plaster.tymoon.eu/view/1811#1811
<jason_m> Is it possible for slots to be duplicated? Is this a bug/problem?
<jason_m> I don't encounter this error on two of my machines, but can sort of reproduce it on a third. (I cannot trigger the error from the repl, but I can trigger it from the application.)
<ober> same version of sbcl?
<jason_m> Both are 1.5.6
<jason_m> Well, my desktop and the third machine (a VM running a web server) are both 1.5.6
turona has quit [Ping timeout: 272 seconds]
turona has joined #lisp
shangul has joined #lisp
<jason_m> I don't know by what magic fluid objects work, I haven't studied MOP. Maybe I shouldn't be using them, the cl-json manual does say they are experimental. But I thought I would toss the question out here. I thought in particular the duplicate slot names were odd.
<beach> Good morning everyone!
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Krystof has quit [Ping timeout: 256 seconds]
wxie has quit [Remote host closed the connection]
arpunk has quit [Remote host closed the connection]
noobineer has quit [Read error: Connection reset by peer]
_jrjsmrtn has joined #lisp
__jrjsmrtn__ has quit [Ping timeout: 246 seconds]
toorevitimirp has joined #lisp
toorevitimirp has quit [Remote host closed the connection]
Oladon has joined #lisp
mangul has joined #lisp
shangul has quit [Ping timeout: 260 seconds]
patlv has quit [Quit: patlv]
sdumi has quit [Read error: Connection reset by peer]
sdumi has joined #lisp
scymtym has quit [Ping timeout: 240 seconds]
pjb has quit [Remote host closed the connection]
EvW has joined #lisp
sdumi has quit [Ping timeout: 246 seconds]
Necktwi has quit [Ping timeout: 264 seconds]
pjb has joined #lisp
Guest99512 has joined #lisp
sdumi has joined #lisp
amazoniantoad has joined #lisp
Guest99512 has quit [Remote host closed the connection]
<amazoniantoad> Hey guys I have a little snippet of code I'm trying to write in which I check a lists of lists to see the index of where the sublist might be
<beach> Hello amazoniantoad.
<pjb> amazoniantoad: http://termbin.com can be used to show us the code.
<amazoniantoad> okay
<amazoniantoad> thanks guys. just one moment
<amazoniantoad> (mapcar #'position '(T A-ON-B) (mapcar #'operator-preconditions (mapcar #'link-to (plan-links *test-plan*))))
<amazoniantoad> This is what I have written so far, but instead of getting a list of indices, I just get (NIL NIL)
<amazoniantoad> The issue is in using mapcar with the position function
<pjb> (mapcar '+ '(1 2 3) '(100 200 300)) #| --> (101 202 303) |#
<pjb> amazoniantoad: there's no issue with mapcar or position.
<ArthurStrong> Hi all. Do you know Steve Tanimoto's old book? Would you recommend reading it?
<amazoniantoad> Then what am I misunderstanding?
<pjb> (mapcar 'position '(t a-on-b) '((1 2 t 4) (1 a-on-b 3 4))) #| --> (2 1) |#
<pjb> amazoniantoad: you don't understand mapcar.
<pjb> clhs mapcar
<amazoniantoad> I see
<pjb> when use with multiple lists.
<pjb> (mapcar (lambda (item) (position item '(1 2 t 4 5 a-on-b 7 8))) '(t a-on-b)) #| --> (2 5) |#
v88m has quit [Read error: Connection reset by peer]
<pjb> amazoniantoad: you may also want to study about the functions curry and rcurry.
<amazoniantoad> thanks
v88m has joined #lisp
rumbler3_ has quit [Remote host closed the connection]
rumbler31 has joined #lisp
rumbler31 has quit [Ping timeout: 260 seconds]
pjb has quit [Remote host closed the connection]
pjb has joined #lisp
rwcom341 has quit [Remote host closed the connection]
rwcom341 has joined #lisp
karlosz has joined #lisp
sdumi has quit [Ping timeout: 260 seconds]
v88m has quit [Ping timeout: 260 seconds]
narimiran has joined #lisp
karlosz has quit [Read error: Connection reset by peer]
karlosz_ has joined #lisp
sauvin has joined #lisp
karlosz_ has quit [Quit: karlosz_]
karlosz has joined #lisp
jeosol has joined #lisp
gravicappa has joined #lisp
EvW has quit [Ping timeout: 240 seconds]
Oladon has quit [Quit: Leaving.]
karlosz has quit [Quit: karlosz]
rumbler31 has joined #lisp
karlosz has joined #lisp
rumbler31 has quit [Ping timeout: 260 seconds]
ayuce has joined #lisp
karlosz has quit [Quit: karlosz]
karlosz has joined #lisp
shka_ has joined #lisp
ArthurStrong has quit [Quit: leaving]
JohnMS_WORK has joined #lisp
sdumi has joined #lisp
karlosz has quit [Read error: No route to host]
karlosz has joined #lisp
sdumi has quit [Ping timeout: 264 seconds]
sdumi has joined #lisp
buffergn0me has left #lisp ["ERC (IRC client for Emacs 26.2)"]
Necktwi has joined #lisp
dale has quit [Quit: My computer has gone to sleep]
sz0 has quit [Quit: Connection closed for inactivity]
ayuce has quit [Remote host closed the connection]
orivej has quit [Ping timeout: 264 seconds]
Cymew has joined #lisp
pjb has quit [Ping timeout: 265 seconds]
rumbler31 has joined #lisp
heisig has joined #lisp
random-nick has joined #lisp
<phoe> good morning
rumbler31 has quit [Ping timeout: 256 seconds]
<beach> Hello phoe.
<phoe> hey hi hello
<no-defun-allowed> Morning phoe
jprajzne has joined #lisp
nullman has quit [Ping timeout: 246 seconds]
rgherdt_ has joined #lisp
sz0 has joined #lisp
Zakkor has joined #lisp
amazoniantoad has quit [Quit: Connection closed for inactivity]
pjb has joined #lisp
rgherdt has joined #lisp
shifty has joined #lisp
Krystof has joined #lisp
SGASAU has joined #lisp
karlosz has quit [Quit: karlosz]
karlosz has joined #lisp
v88m has joined #lisp
Lycurgus has joined #lisp
rgherdt has quit [Quit: Leaving]
rozenglass has quit [Quit: WeeChat 2.3]
rgherdt has joined #lisp
rumbler31 has joined #lisp
gelatram has joined #lisp
rgherdt_ has quit [Quit: Leaving]
yankM has quit [Ping timeout: 256 seconds]
rumbler31 has quit [Ping timeout: 256 seconds]
null_ptr has quit [*.net *.split]
felideon has quit [*.net *.split]
xristos has quit [*.net *.split]
drewc has quit [Ping timeout: 264 seconds]
xristos has joined #lisp
felideon has joined #lisp
null_ptr has joined #lisp
loli has quit [Ping timeout: 272 seconds]
jfrancis_ has joined #lisp
drewc has joined #lisp
jfrancis has quit [Ping timeout: 256 seconds]
Lycurgus has quit [Quit: Exeunt]
ljavorsk has joined #lisp
karlosz has quit [Quit: karlosz]
karlosz has joined #lisp
nullman has joined #lisp
scymtym has joined #lisp
elinow has joined #lisp
wxie has joined #lisp
rgherdt has quit [Quit: Leaving]
rgherdt has joined #lisp
rumbler31 has joined #lisp
marcoxa has joined #lisp
Codaraxis has quit [Ping timeout: 246 seconds]
rumbler31 has quit [Ping timeout: 272 seconds]
Codaraxis has joined #lisp
pjb has quit [Ping timeout: 246 seconds]
holycow has joined #lisp
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 260 seconds]
orivej has joined #lisp
Lord_of_Life_ is now known as Lord_of_Life
Zakkor has quit [Quit: Connection closed for inactivity]
Necktwi has quit [Ping timeout: 240 seconds]
nostoi has joined #lisp
Necktwi has joined #lisp
mrcom has quit [Read error: Connection reset by peer]
pve has joined #lisp
no-defun-allowed has quit [Quit: killed]
katco has quit [Quit: killed]
Gnuxie[m] has quit [Quit: killed]
sammich has quit [Quit: killed]
infra_red[m] has quit [Quit: killed]
unl0ckd has quit [Quit: killed]
Cairn[m] has quit [Quit: killed]
DavdL[m] has quit [Quit: killed]
liambrown has quit [Quit: killed]
clintm[m] has quit [Quit: killed]
userself has quit [Quit: killed]
LdBeth has quit [Quit: killed]
Jachy has quit [Quit: killed]
mhitchman[m] has quit [Quit: killed]
amnesic[m] has quit [Quit: killed]
wxie has quit [Ping timeout: 260 seconds]
yitzi has joined #lisp
rumbler31 has joined #lisp
nostoi has quit [Quit: Verlassend.]
mangul has quit [Ping timeout: 240 seconds]
wxie has joined #lisp
rumbler31 has quit [Ping timeout: 240 seconds]
Codaraxis has quit [Read error: Connection reset by peer]
Codaraxis has joined #lisp
shangul has joined #lisp
gko has joined #lisp
liambrown has joined #lisp
pjb has joined #lisp
refpga has quit [Read error: Connection reset by peer]
refpga has joined #lisp
EvW1 has joined #lisp
cosimone has joined #lisp
EvW1 has quit [Ping timeout: 256 seconds]
igemnace has quit [Ping timeout: 240 seconds]
orivej has quit [Ping timeout: 246 seconds]
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
mhitchman[m] has joined #lisp
amnesic[m] has joined #lisp
Jachy has joined #lisp
DavdL[m] has joined #lisp
katco has joined #lisp
userself has joined #lisp
unl0ckd has joined #lisp
LdBeth has joined #lisp
infra_red[m] has joined #lisp
sammich has joined #lisp
Gnuxie[m] has joined #lisp
no-defun-allowed has joined #lisp
Cairn[m] has joined #lisp
clintm[m] has joined #lisp
scymtym has quit [Ping timeout: 272 seconds]
rumbler31 has joined #lisp
ayuce has joined #lisp
cosimone has quit [Quit: Terminated!]
milanj has joined #lisp
yitzi has quit [Quit: yitzi]
cosimone has joined #lisp
rumbler31 has quit [Ping timeout: 260 seconds]
ljavorsk has quit [Remote host closed the connection]
ljavorsk has joined #lisp
wxie has quit [Ping timeout: 256 seconds]
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
mrcom has joined #lisp
karlosz has quit [Quit: karlosz]
hvxgr has quit [Quit: leaving]
monokrom has joined #lisp
karlosz has joined #lisp
karlosz has quit [Remote host closed the connection]
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
scymtym has joined #lisp
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
cosimone has quit [Client Quit]
Bike has joined #lisp
rumbler31 has joined #lisp
jonatack_ has joined #lisp
rumbler31 has quit [Ping timeout: 264 seconds]
mingus has joined #lisp
jonatack has quit [Ping timeout: 264 seconds]
wxie has joined #lisp
loli has joined #lisp
<phoe> clhs ~S
lalilulelo has joined #lisp
wxie has quit [Ping timeout: 264 seconds]
lalilulelo has quit [Client Quit]
mingus has quit [Ping timeout: 264 seconds]
shka_ has quit [Ping timeout: 256 seconds]
MrMc has joined #lisp
yitzi has joined #lisp
<MrMc> How do I write to a CHUNGA:CHUNKED-IO-STREAM I am trying to do server side events with Hunchentoot
heisig has quit [Ping timeout: 258 seconds]
refpga has quit [Read error: Connection reset by peer]
refpga has joined #lisp
<phoe> clhs ~(
ljavorsk has quit [Ping timeout: 264 seconds]
<phoe> chunked-io-stream is both input and output
<phoe> you should be able to write to it normally, since it's a stream
<MrMc> Under SBCL I am getting and error when I use format to write the error is
<MrMc> There is no applicable method for the generic function
<MrMc> when called with arguments
<MrMc> #<STANDARD-GENERIC-FUNCTION SB-GRAY:STREAM-WRITE-STRING (3)>
<phoe> oooh!
<phoe> they are binary streams, not byte streams
<phoe> therefore you need to write bytes to it instead of string data.
<phoe> https://github.com/edicl/chunga/blob/master/streams.lisp#L96-L99 says that they're binary and provides some advice.
<ralt> "they are binary, not byte, hence you need to write byte"
<ralt> that makes a lot of sense, of course
<phoe> ralt: soduhsoduighslgihf
<ralt> :P
<phoe> s/byte streams/character streams/
<phoe> kids, don't do lisp when distracted
<ralt> it would almost make sense in a language where strings are byte bags
<ralt> (PHP, python2, etc)
<phoe> thank goodness Lisp isn't one
nowhere_man has joined #lisp
<ralt> it's quite funny how that was py2->py3 biggest issue, despite Lisp doing the correct thing 20 years earlier
EvW has joined #lisp
<ralt> I always wonder why there's WRITE-BYTE but not WRITE-BYTES, but instead you have to use WRITE-SEQUENCE
<ralt> (same for READ-BYTE/READ-SEQUENCE)
<ralt> it feels like in Lisp streams are almost-first-class-but-not-quite-there
<beach> Er, what?
<ralt> or it may just be my bias of a not-big-enough stdlib, despite its already big size
<ralt> it's mostly when I compare to https://golang.org/pkg/io/
<Bike> how is write-sequence not write-bytes?
<phoe> ralt: write-bytes is literally write-sequence though
<phoe> the bytes are wrapped in a container
<beach> Streams are definitely first-class objects.
<phoe> which is, well, a sequence
<ralt> I know that I've wanted to use those `io.Discard`, `io.LimitedReader` things in Lisp already, and after having used them in Go, it felt a bit disappointing to me to not find them
<ralt> I'm not sure what I'm trying to say though, just venting I guess.
<Bike> we'd like to help you, but if you're unable to describe what you want it's kind of hard to do so.
<beach> ralt: "first-class object" is not defined as "ralt being disappointed"
<ralt> I'm not looking for help :)
<phoe> ralt: io.Discard is a (make-broadcast-stream)
<ralt> beach: ha
<ralt> it should! :P
<Bike> "A LimitedReader reads from R but limits the amount of data returned to just N bytes. " you can do this with read-sequence, no?
<phoe> or if you want to go the OO way, the limited reader can be done via gray streams
<phoe> if that is really necessary
<beach> I think we need a new Common Lisp standard.
<ralt> oooh I like make-broadcast-stream
<phoe> it's a stream that broadcasts stuff to all the streams that you construct it with
<phoe> and you may provide exactly zero streams to it, which is a feature
<ralt> ah, I didn't see that
<phoe> it's kinda like having an argument on an IRC channel where you are the operator and nobody else is there
<ralt> I think I need to invent a cousin of Cunningham's Law, where you vent so people can prove you wrong
<phoe> it's already known as "the best way to get advice on the internet"
<phoe> you don't ask for help, you post a wrong thing online and wait for the burning arrows to start hitting your house
<ralt> really though, make-broadcast-stream looks dope
rumbler31 has joined #lisp
rumbler31 has quit [Ping timeout: 258 seconds]
rpg has joined #lisp
CrazyPython has joined #lisp
jruiz has joined #lisp
<jmercouris> how to use loop for lines in a string rather than chars?
<jmercouris> will I have to split the string first?
mingus has joined #lisp
<jmercouris> OK read-line...
<jmercouris> nvm
<ralt> (loop for line = (read-line))?
<ralt> yeah
<jmercouris> I was thinking there might be something special in loop
<jmercouris> like (loop for lines in string ...) or something
<beach> We definitely need a new Common Lisp standard.
<jackdaniel> of course we do, let's base it on c++, but with sexps
<_death> while we're at it, let's rename/alias rename-file to file-rename and delete-file to file-delete (a suggestion made in emacs-devel.. lots of drama like that there nowadays)
<jmercouris> beach: are you being sarcastic or serious?
<beach> jackdaniel: But then we couldn't type io.Discard.
<beach> jmercouris: The former. Lately, the discussions here frequently seem to go in that direction.
<jackdaniel> let's allow both sexps and mexprs then
<jmercouris> I don't see why we would need a new standard
<jackdaniel> or drop sexps
<jmercouris> i wouldn't be opposed to a language that is a superset of CL, but CL itself is fine
<beach> jmercouris: That's be cause you don't follow the discussions here all the time.
<jmercouris> i guess so :-D
<_death> we could finally have LISP 2
theseb has joined #lisp
mingus` has joined #lisp
<jmercouris> critique: http://dpaste.com/38ZWGWT ?
<jmercouris> I was hoping there was a more succinct way, but that's the way i came up with
<beach> Just wait for the new standard, and there will be a special function for what you want.
<phoe> jmercouris: you want UNTIL before DO
<phoe> otherwise you'll print a NIL at the end
EvW has quit [Ping timeout: 260 seconds]
<phoe> or (loop for line = (read-line output nil) while line do (print line))
<jruiz> jmercouris: you could also have while line do ...
<jackdaniel> ln -s /bin/python /bin/lisp # there
* phoe highfives jruiz
<beach> jmercouris: Put the DO LOOP keyword first on a line.
mingus has quit [Ping timeout: 272 seconds]
<beach> jruiz: That is against the rule of page 13 of the LUV slides.
<_death> why collect output from the output stream to a string just to read it line by line from a stream?
<phoe> _death: I assume something else will be put in place of #'PRINT
<_death> phoe: that's irrelevant
<phoe> _death: oh, I see what you mean, right
<phoe> RUN-PROGRAM should have returned a stream instead
<jackdaniel> uiop's run-program will use intermediate biffer anyway
<jackdaniel> buffer
<jackdaniel> not amusing
<jmercouris> OK I've moved the DO keword
<jmercouris> _death: I'm actually processing strings and handling them, phoe is correct
<jruiz> beach: noted. Are you referring to these LUV slides? http://norvig.com/luv-slides.ps
<jmercouris> _death: I'll try removing the output from string and doing directly, its a good point
dddddd has joined #lisp
<_death> I often use sb-ext:run-program instead.. I remember having to slug through uiop's implementation, seeing slurp and vomit everywhere only reinforced the feeling..
<jmercouris> hm, it seems to freeze now
<jmercouris> let me try to get a stream from uip:run-program..
<jmercouris> do I just have to set :output?
<phoe> jackdaniel: for synchronous execution, it makes sense
<_death> you can pass a function to :output, that will receive a stream
<jmercouris> ah
<beach> jruiz: Yes.
pfdietz has joined #lisp
<beach> jruiz: WHILE takes a Boolean argument and LINE is not a Boolean argument. It is a string or NIL as a special default value.
<phoe> Does (typep (make-array 0 :element-type 'integer) '(simple-vector 0)) always hold true?
<phoe> Wait, no, it doesn't.
<Bike> depends on integer's UAET, but practically speaking yes it does
<jmercouris> what is UAET?
<Bike> clhs upgraded-array-element-type
<jmercouris> ah I see, interesting
<Bike> since the integer type includes bignums, it's unlikely an implementation would have much of anything to gain by having a specialized representation for arrays of integers
<phoe> Bike: asking in the general case though, the lisp koans make some very interesting assumptions about the standard
<jackdaniel> phoe: it does not, run-program's on lisp have very elaborate interfaces
<Bike> the integer uaet is the only thing that could make it not a simple vector
rixard has quit [Read error: Connection reset by peer]
<Bike> i think this particular assumption is basically reasonable
<jackdaniel> cls*
<Bike> although i suppose i would note it if i was writing something
<phoe> jackdaniel: TIL; it could therefore be implemented better
<phoe> jackdaniel: my question is, once the program exits, something needs to buffer the produced output anyway, right?
<jruiz> beach: cool thanks
<phoe> maybe that's a naïve question; I assume that UIOP introduces another buffer where an implementation may already have a buffer of its own, same thing with streams
Kevslinger has quit [Quit: Connection closed for inactivity]
<jackdaniel> im on phone, too much burden to elaborate
<beach> jruiz: Pleasure.
<phoe> jackdaniel: OK
arpunk has joined #lisp
terpri has quit [Remote host closed the connection]
<jmercouris> i'm thinking that UIOP should rename the macro with-upgradability to with-irratiblity
<jmercouris> because browsing UIOP with M-. is impossible
<jackdaniel> either use :output :string or depend on a stream
<phoe> jackdaniel: OK, thanks
<pfdietz> One could imagine an array of INTEGER that would save an indirection, putting the top structure in the bignum representation directly into the array. It would be copied on access though. I don't think any current implementation does this.
<jackdaniel> it is OS responsibility to carry buffers
refpga has quit [Read error: Connection reset by peer]
<jackdaniel> pfdietz: if i understand correctly then ecl does that by storing limbs that way
<pfdietz> I couldn't say, as I am not familiar with ECL internals.
rixard has joined #lisp
terpri has joined #lisp
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
<_death> jmercouris: instead of this with-upgradability nonsense, it should simply have a defun*/defmacro*/...
<_death> (or rather, since it already has them, use them)
<jackdaniel> whole idea of "upgradability" is sly in asdf and introduces far more problems than it allegedly solves
<pfdietz> I treat that all as background magic.
terpri has quit [Remote host closed the connection]
mingus` has quit [Quit: ERC (IRC client for Emacs 26.3)]
rumbler31 has joined #lisp
refpga has joined #lisp
<Bike> by the "top structure", you mean something that has a pointer to digits of the bignum?
rumbler31 has quit [Ping timeout: 246 seconds]
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
JohnMS_WORK has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/]
<phoe> jackdaniel: I have been wondering, in practice, how many images need to upgrade to new versions ASDF as they are run? and how many of these situations could be replaced with "load ASDF only once at bootup and error in case of an attempted upgrade"?
<phoe> ...and, orthogonally, how many cases of WITH-UPGRADABILITY making it impossible to use M-. would have been solved by custom DEFUN, DEFCLASS, and DEFMETHOD tailored to ASDF needs
<_death> phoe: they already have those custom operators.. with-upgradability is just to rename defun to defun* etc.. they could simply use defun*, or shadow defun if they like
<jasom> phoe: the need to make ASDF upgradable was outlined in one of Fare's posts.
<jackdaniel> no bad decision comes from fare without a long justification
<jackdaniel> phoe: in practice none upto one (clisp), and on clisp it braks
<jackdaniel> breaks
<rpg> phoe: I think it should be possible to get M-. to work by a little tweak to finding source files. Also, I find i want a multi-file version of ASDF, instead of the single file, when working with it.
ebrasca has joined #lisp
EvW1 has joined #lisp
refpga has quit [Ping timeout: 272 seconds]
refpga has joined #lisp
narimiran has quit [Ping timeout: 256 seconds]
<Fare> jackdaniel, :-)
<Fare> phoe, about every image that is bundled with an asdf older than you use is upgraded as it is run, hopefully early on.
CrazyPython has quit [Ping timeout: 258 seconds]
<Fare> unless you can convince all lisp vendors to upgrade very fast to the latest asdf everytime, upgradability is a must.
hvxgr has joined #lisp
<jackdaniel> it is not, simply dont load a contrib and you are golden
<jackdaniel> asdf is usually not part of the image, rather avail as a contrib loaded with require
sjl_ has joined #lisp
EvW1 has quit [Ping timeout: 265 seconds]
Fare has quit [Ping timeout: 272 seconds]
shifty has quit [Ping timeout: 256 seconds]
sdumi has quit [Ping timeout: 256 seconds]
red-dot has quit [Quit: Going offline, see ya! (www.adiirc.com)]
<phoe> ^
<phoe> the question is how many images run old ASDF because it was loaded "by default" instead of "by being pointed to the newest ASDF version that I want it to load"
<phoe> since (require 'asdf) is likely to cause the former
<phoe> because, if I could tell my Lisp implementation in its RC file "please load ASDF from this Quicklisp-managed directory that contains the version I want, and don't load any ASDF otherwise" I don't think I'd need ASDF upgradability at all
<phoe> and, hey, I can tell my Lisp implementation to do exactly that in its RC file
yankM has joined #lisp
rumbler31 has joined #lisp
<pjb> phoe: only the implementation may have loaded asdf before it runs the rc file.
<phoe> pjb: which ones do that?
<pjb> phoe: so upgradability is important. On the other hand, there's no downgradability in adsf.
<pjb> phoe: it may be subject to system configuration --sysinit vs --userinit.
<pjb> phoe: you may also need to consider saved images that contain asdf.
<pjb> my point is that upgradability is good, as is loading the asdf you want.
rwcom3417 has joined #lisp
rumbler31 has quit [Ping timeout: 272 seconds]
yankM has quit [Ping timeout: 240 seconds]
<pjb> phoe: so yes, asdf is well done, if you just load a version in your rc file, you will get this version or a more recent one.
rwcom341 has quit [Ping timeout: 256 seconds]
yankM has joined #lisp
<_death> would this "upgradability" (which iirc is simply fmakunbound) be a big deal to anyone (but its users) if the with-upgradability macro did not exist?
<pjb> It's nice.
<_death> the macro or the feature?
<phoe> the feature
<phoe> I enjoy my toplevel forms being separate
cosimone has joined #lisp
MrMc has quit [Remote host closed the connection]
rippa has joined #lisp
cosimone_ has joined #lisp
cosimone has quit [Ping timeout: 244 seconds]
red-dot has joined #lisp
<jmercouris> _death: agreed
cosimone_ has quit [Excess Flood]
cosimone_ has joined #lisp
yitzi has quit [Quit: yitzi]
<phoe> the CLOS part of the lisp koans makes me want to cry
<phoe> I am not going to believe that this code was written by someone who knows Lisp
<beach> Do we know who wrote it?
<phoe> Git blame is there. I choose not to look into it.
<beach> Why? That person should be told about the mistakes so that he/she can improve.
<pjb> It's probably old. that person is probably retired or dead now.
Bourne` has joined #lisp
Bourne has quit [Ping timeout: 260 seconds]
<beach> phoe: How big is the code? How hard would it be to rewrite it?
<Bike> there are only two commits to the clos file, so no mysteries there
<Bike> it's not even 150 lines. dunno about other files
<phoe> beach: I'm like 70% done with all of it as we speak
<phoe> like, with all of the koans
<Bike> with reading it, or rewriting it
<phoe> with rewriting
<beach> phoe: Great! Good initiative.
<phoe> beach: more like "the next Lisp-related thing I got really annoyed with"
<Bike> anger is a kind of initiative
<phoe> I thought that since I have a choleric temperament I could as well try to put that to some use.
<phoe> Bike: well, yes
<phoe> but, like, use that is something more constructive than me making a fool out of myself in front of #lisp by saying really stupid things
jprajzne has quit [Quit: Leaving.]
sdumi has joined #lisp
<beach> phoe: You say really stupid things less and less often. :)
amnesic[m] has quit [Quit: Idle for 30+ days]
mhitchman[m] has left #lisp ["Kicked by @appservice-irc:matrix.org : Idle for 30+ days"]
<phoe> beach: I respectfully disagree
<Bike> but don't worry, i'm here to pick up your slack
<phoe> yeyyy
<jmercouris> phoe: i disrespectfully disagree agree to agree
<jmercouris> phoe: you needn't worry about stupidity, there is an abundance of it in this world
<jmercouris> sprinkling some into this channel is your duty, and right
sdumi has quit [Ping timeout: 272 seconds]
liambrown has left #lisp ["Kicked by @appservice-irc:matrix.org : Idle for 30+ days"]
lxbarbosa has joined #lisp
refpga has quit [Read error: Connection reset by peer]
rumbler31 has joined #lisp
refpga has joined #lisp
<phoe> what would be a good model for teaching class inheritance? I kind of don't want to do the old (defclass race-car (car) ...) stuff
rumbler31 has quit [Ping timeout: 246 seconds]
<Bike> an actual application of some kind, i would think
<Bike> parser? off the top of my head
<pjb> phoe: of course, GUIs are the classical example.
<phoe> pjb: I don't have the luxury of having a GUI available in lisp koans and I won't have one available.
<pjb> I mean, write one!
<pjb> actually, it's any UI, you can make a TUI with windows, text-fields and buttons, in a nice hierarchical OO model.
<Bike> i go to example when i'm testing language stuff now is a regex system. can use a lot of the language but still be an abstract problem
sdumi has joined #lisp
bitmapper has joined #lisp
didi has joined #lisp
<phoe> didi: I need to rewrite it to be less of a rant.
<didi> phoe: It didn't feel like a rant to me.
<travv0> you should write a book on it
v88m has quit [Ping timeout: 260 seconds]
<phoe> no
gko has quit [Ping timeout: 246 seconds]
rwcom3417 has quit [Ping timeout: 264 seconds]
yitzi has joined #lisp
aeth has quit [Ping timeout: 260 seconds]
<jmercouris> a good example for inheritance, how about using animals
<jmercouris> and you can have different types of animals like birds and deer etc
<ralt> phoe: a filesystem
<Bike> i feel things like cars and animals might be good if you're writing a philosophical work on ontology, or maybe a review of cladistics
<Bike> programming... nah
<jmercouris> they extend the animal class, etc and then reptile and so and so garth
<bitmapper> i wonder if there will ever be a 64bit version of lispworks personal because of macos catalina
<jmercouris> s/garth/forth
<Bike> unless it's some kind of computer cladistics system. that could be neat
<Bike> not that biology usually fits into the computery kind of "inheritance" very well
<jackdaniel> take an abstract class graph, and then go from it to digraph, tree whatever
<jackdaniel> s/abstract/
<jackdaniel> s/abstract//
<LdBeth> hoolla
Josh_2 has quit [Read error: Connection reset by peer]
<jackdaniel> to save clicks
<jackdaniel> paragraph tytile "Why `Car extends Vehicle` or `Duck extends Bird` are terrible examples." says it all
<jackdaniel> title*
amerlyq has joined #lisp
efm has joined #lisp
refpga has quit [Read error: Connection reset by peer]
refpga has joined #lisp
<lukego> hey is there a handy package that would give me some types like url, country code, etc? (not as fancy object types just e.g. strings with SATISFIES constraints)
<ralt> for URLs there's puri/quri
<Shinmera> lukego: ratify has a bunch of functions to test strings for stuff like being an URL or integer, etc.
<lukego> thanks!
<lukego> also is there a recommended library for scientific/engineering units? millimeter, mil, micron, etc?
<lukego> Or is there a good place to look for such recommendations instead of bothering people one at a time on #lisp? :-)
<Shinmera> cliki still works for that sometimes
<Shinmera> other times there's awesome-cl, or trying your luck by searching on quickdocs
SGASAU has quit [Remote host closed the connection]
rwcom3417 has joined #lisp
ayuce has left #lisp ["ERC (IRC client for Emacs 28.0.50)"]
SGASAU has joined #lisp
<lukego> thanks again :)
<lukego> Just found my copy of Edi's recipes book and put that by my side so that will spare everybody some noise B)
whiteline_ has quit [Remote host closed the connection]
whiteline_ has joined #lisp
whiteline_ has quit [Remote host closed the connection]
whiteline_ has joined #lisp
aeth has joined #lisp
ahungry has joined #lisp
CrazyPython has joined #lisp
rumbler31 has joined #lisp
scymtym has quit [Ping timeout: 240 seconds]
shangul has quit [Remote host closed the connection]
shangul has joined #lisp
CrazyPython has quit [Read error: Connection reset by peer]
rumbler31 has quit [Ping timeout: 256 seconds]
jonatack_ has quit [Quit: jonatack_]
jonatack has joined #lisp
noahtheduke has joined #lisp
Cymew has quit [Ping timeout: 246 seconds]
noahtheduke has quit [Client Quit]
scymtym has joined #lisp
buffergn0me has joined #lisp
efm has quit [Read error: Connection reset by peer]
jruiz has quit [Remote host closed the connection]
jruiz has joined #lisp
elinow has quit [Ping timeout: 272 seconds]
elinow has joined #lisp
sdumi has quit [Ping timeout: 256 seconds]
jruiz has quit [Ping timeout: 256 seconds]
Jesin has quit [Quit: Leaving]
Jesin has joined #lisp
shifty has joined #lisp
<phoe> some news - Apress offered me a contract, and a deadline for reviewing my book on conditions. It's May 22nd - two weeks from now, so not a very big amount of time.
hiroaki has quit [Ping timeout: 260 seconds]
<jackdaniel> congratulations!
<phoe> If anyone'd like to contribute, #clcs has been created for that, and I have a private git repository with the book where one can send issues.
<phoe> jackdaniel: thanks!
<phoe> beach: ^ Please let me know if two weeks is enough time for you - it's not very much time, but that's what I have been told by Apress.
<jackdaniel> hint: grab it till the draft is free ,p
<phoe> or become a reviewer and get a free ebook version once it's published
<jackdaniel> it is freenode, people expect to get things for free
<jackdaniel> your time, soul and developments
<phoe> and your mother maiden's name
efm has joined #lisp
yankM has quit [Ping timeout: 246 seconds]
shangul has quit [Quit: Bye Bye. 3.1415926535897932]
shifty has quit [Ping timeout: 260 seconds]
hiroaki has joined #lisp
<jackdaniel> you've confused freenode and bank which confirms your identity to reset the pin ,)
sdumi has joined #lisp
rumbler31 has joined #lisp
yankM has joined #lisp
rumbler31 has quit [Ping timeout: 272 seconds]
didi has left #lisp ["O bella ciao bella ciao bella ciao, ciao, ciao."]
orivej has joined #lisp
SGASAU has quit [Remote host closed the connection]
rozenglass has joined #lisp
SGASAU has joined #lisp
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
sauvin has quit [Ping timeout: 240 seconds]
clintm[m] has left #lisp ["Kicked by @appservice-irc:matrix.org : Idle for 30+ days"]
<phoe> Random question - are there any kind of portable utilities that you'd like to see as appendices to that book? Currently the only one is HANDLER-CASE* that executes the handler and then transfers control, but maybe you're aware of some others.
<jackdaniel> I've came up with an interesting technique (to me) which uses handler-bind
<jackdaniel> you define a condition partial-result, which has a slot data, function (defun emit (data) (signal 'partial-result :data data)), and you define a macro expanding to handler bind handling partial results (i.e sending them asynchronously via websocket)
<phoe> jackdaniel: what is it?
<jackdaniel> so you have a function which "emits" partial resutls
<jackdaniel> if you wrap it in (with-partial-results (#'send-websocket) (my-function)) , then partial results will be send
<jackdaniel> if it is not wrapped, then signals are simply ignored because they are not serious conditions nor warnings
<jackdaniel> so you may have synchronous and asynchronous context for the same function without changing it
ebrasca has quit [Remote host closed the connection]
<phoe> jackdaniel: nice, though highly domain-specific
<jackdaniel> applies everywhere where long computations take place and partial results are useful
<jackdaniel> (and does not depend on multiprocessing)
<phoe> yes, I see
<bitmapper> agh
shifty has joined #lisp
* phoe resists the urge to post https://www.agh.edu.pl/
CrazyPython has joined #lisp
milanj has quit [Quit: This computer has gone to sleep]
rumbler31 has joined #lisp
<bitmapper> apple please i want to runt lispworks
<jasom> bitmapper: it runs just fine in parallels :P
<bitmapper> i don't have the disk space to run an entire virtual machine
<jasom> yeah, last time I owned an apple machine you could at least upgrade the storage; apple's disk premiums are insane
<jackdaniel> is it some kind of apple policy to break things fast and don't care? if so, why people insist it is a good choice for a computer?
<bitmapper> nah it's just my ssd is small and i don't have the money to get a new one
rumbler31 has quit [Ping timeout: 260 seconds]
<jasom> bitmapper: I have some 2.5" 1TB drives lying around collecting dust; I'll mail one to you if you want to buy a USB enclosure for one
<bitmapper> nah that's fine, i should just replace my cd drive with a caddy at that point
<jasom> jackdaniel: to be fair, apple has been 64-bit for like a decade now
<bitmapper> to be fair, most computers have been 64bit for more than a decade
<bitmapper> i don't have an issue with the switch to 64bit
<jackdaniel> I thought it is about 32 bit version not running for some reason. I get from time to time reports that either McCLIM or ECL doesn't work there, because they've changed something
<jackdaniel> i.e apparently now x11 server is very slow on osx, because of reasons (switch to vulcan)
<jasom> jackdaniel: Apple just retired 32-bit application support
<bitmapper> jackdaniel: metal, not vulkan
<bitmapper> there's no vulkan on macos at all
<bitmapper> and yeah, apple completely dropped support for running 32bit executables
<jackdaniel> even better ,)
<bitmapper> ECL works great on macos though!
<jasom> Apple never really cared about XQuartz though.
<jackdaniel> or "why ecl did not work on ios until the last release?", because *of course* they had to invent their own calling convention for variadic functions
<jackdaniel> bitmapper: it is thanks to kind volunteers who contribute patches, I've never had appleware and I'm not allowed to run legally macos on a virtual machine
<jackdaniel> in*
<jasom> Everybody invents their own calling conventions for variadic functions. There's like 3 commonly used ones for arm32
<bitmapper> i don't use macos by choice at this point
<jackdaniel> jasom: I've phrased it wrong. they break the assumption, that foo(a, b, ...) may be casted to foo(...)
Zakkor has joined #lisp
<jackdaniel> but nevermind, my point is that from a quantity of bug reports and timing of them the following applies: windows is very tricky to get right, apple frequently breaks for incompatible changes
<bitmapper> but yeah, basically lispworks personal edition doesn't work period on macos catalina
dale has joined #lisp
narimiran has joined #lisp
sh_zam has left #lisp [#lisp]
rwcom3417 has quit [Ping timeout: 240 seconds]
monokrom has quit [Ping timeout: 240 seconds]
Josh_2 has joined #lisp
frgo has joined #lisp
frgo_ has joined #lisp
patlv has joined #lisp
frgo has quit [Ping timeout: 252 seconds]
Josh_2 has quit [Read error: Connection reset by peer]
Josh_2 has joined #lisp
refpga has quit [Ping timeout: 272 seconds]
rumbler31 has joined #lisp
rumbler31 has quit [Ping timeout: 260 seconds]
<xristos> bitmapper: take it up with lispworks or stick with mojave ;p
<xristos> i'm still running 10.13 and don't plan to upgrade ever
<xristos> which means that at some point i'm going back to desktop linux (shudder)
<LdBeth> Still in Mojave
yankM has quit [Remote host closed the connection]
<xristos> the thing i'm going to miss the most is apple events
<xristos> the fact that apple doesn't give two shits about it and has left it to bitrot is the icing on the cake
CrazyPython has quit [Read error: Connection reset by peer]
<xristos> iirc the original spark comes from a former Xerox park employee who ended up at Apple working in automation technologies and spearheaded the effort
slyrus_ has quit [Read error: Connection reset by peer]
<xristos> a great idea can percolate and find its way through the ages
<xristos> *parc
<bitmapper> i think another issue is considering 64bit support a luxury feature :p
ljavorsk has joined #lisp
<xristos> that's the IDA Pro school of marketing
<_death> twice the bits at twice the price
efm has quit [Remote host closed the connection]
<bitmapper> good ol 1500$ hobbyist version
<LdBeth> If it’s on Mac I cannot think of any reason prefer paid ACL over free CCL
<LdBeth> unless you’re using some old code uses ACL exclusive libraries
<bitmapper> yep
<bitmapper> acl/lispworks
efm has joined #lisp
efm has quit [Remote host closed the connection]
narimiran has quit [Ping timeout: 246 seconds]
guest234 has joined #lisp
buffergn0me has quit [Ping timeout: 256 seconds]
elinow has quit [Ping timeout: 256 seconds]
frgo_ has quit []
karlosz has joined #lisp
sstc has joined #lisp
rotty has quit [Ping timeout: 260 seconds]
rumbler31 has joined #lisp
sstc has quit [Quit: WeeChat 2.8]
sstc has joined #lisp
rotty has joined #lisp
rumbler31 has quit [Ping timeout: 256 seconds]
sstc has quit [Client Quit]
holycow has quit [Quit: Lost terminal]
marcoxa has quit [Quit: Time to go to bed.]
sstc has joined #lisp
sstc has quit [Client Quit]
sstc has joined #lisp
sstc has quit [Client Quit]
sstc has joined #lisp
karayan has quit [Remote host closed the connection]
sstc has quit [Client Quit]
sstc has joined #lisp
ahungry has quit [Remote host closed the connection]
karayan has joined #lisp
karayan has quit [Ping timeout: 260 seconds]
Lord_of_Life_ has joined #lisp
Zakkor has quit [Quit: Connection closed for inactivity]
Lord_of_Life has quit [Ping timeout: 264 seconds]
Josh_2 has quit [Ping timeout: 240 seconds]
Lord_of_Life_ is now known as Lord_of_Life
ljavorsk has quit [Ping timeout: 272 seconds]
rumbler31 has joined #lisp
pve has quit [Quit: leaving]
jruiz has joined #lisp
buffergn0me has joined #lisp
ArthurStrong has joined #lisp
guest234 has quit [Remote host closed the connection]
gravicappa has quit [Ping timeout: 260 seconds]
karlosz has quit [Read error: Connection reset by peer]
karlosz has joined #lisp
motersen has joined #lisp
azureBlob has joined #lisp
karlosz has quit [Quit: karlosz]
karlosz has joined #lisp
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
patlv has quit [Quit: patlv]
<azureBlob> Hello, I am having an issue with common lisp, I created a function and tried to use it in two places, once as the first argument to setf and later as part of the argument for another function, for some reason clisp is telling me the former isn't defined, but when I switch out just the former for it's body (as in remove the function call) it works perfectly and I don't get what's going on :/ Here's the code with a couple of comments
<azureBlob> https://pastebin.com/28xJxYVT particuarly the issue appears on line 37 and 38
<Bike> azureBlob: get-connections is a function, so setf, the macro, can only call it - not examine and use its body. So you have to tell setf how to setf a get-connections place, for example by defining a function named (setf get-connections).
karlosz has quit [Read error: Connection reset by peer]
karlosz has joined #lisp
<Bike> or you could define get-connections as a macro instead, so that setf can use its expansion.
<LdBeth> azureBlob: it is because setf works by looking up the corresponding "setter" for the functions, the setter for built-ins such as gethash are predefined but user defined functions are not, which you have to supply by your own
<azureBlob> with the first tip you mean doing something like (defun (setf get-connections) (blah)...)?
<Bike> yes.
<LdBeth> yup
<azureBlob> didn't know that was a thing, neat, I'll check it out
<Bike> (defun get-connections (new-value graph name) (setf (gethash name (e graph)) new-value))
<Bike> by the way, how does that code work? (e g) seems wrong to me?
<scymtym> Bike meant (defun (setf get-connections) (new-value ...) ...)
<Bike> oh. yes.
<azureBlob> (e g) gives you the set of sets E from G
amerlyq has quit [Quit: amerlyq]
<Bike> yes, but i mean, the variable is called "graph", not "g".
<azureBlob> like it's an accessor, I got that from the cookbook
<azureBlob> oh!!!!!!!!!!
<Bike> also if you use single character names your code will be hard to read, but that's a different issue
<azureBlob> didn't see that lmao must have worked cause I always have a variable g floating around
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
<azureBlob> yeah, g e and v are like standard notation for graphs https://en.wikipedia.org/wiki/Graph_(discrete_mathematics)#Directed_graph
<Bike> yeah, i know.
<azureBlob> thanks a lot btw! really helped :D
<Bike> great.
random-nick has quit [Ping timeout: 258 seconds]
terpri has joined #lisp
rpg has joined #lisp
motersen has quit [Ping timeout: 240 seconds]
quazimodo has quit [Ping timeout: 256 seconds]
quazimodo has joined #lisp
Felix___ has joined #lisp
rand_t has joined #lisp
Felix___ has quit [Ping timeout: 260 seconds]
Fare has joined #lisp
choegusung has joined #lisp
choegusung has quit [Client Quit]
madage has quit [Quit: leaving]
ntqz has joined #lisp
cosimone_ has quit [Quit: Quit.]
kmeow has quit [Quit: No Ping reply in 180 seconds.]
kmeow has joined #lisp
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
elflng has quit [Read error: No route to host]
elflng has joined #lisp
gxt_ has joined #lisp
gxt has quit [Ping timeout: 240 seconds]
rpg has joined #lisp
jruiz has quit [Ping timeout: 260 seconds]
Oladon has joined #lisp
shifty has quit [Ping timeout: 260 seconds]
terpri has quit [Remote host closed the connection]
terpri has joined #lisp
jonatack_ has joined #lisp
efm has joined #lisp
jonatack has quit [Ping timeout: 260 seconds]
wxie has joined #lisp
theseb has quit [Quit: Leaving]