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/> | News: ELS'22 this Monday (2022-03-21), see https://european-lisp-symposium.org
hashfunc3f5 has joined #commonlisp
random-nick has quit [Ping timeout: 272 seconds]
yauhsien has joined #commonlisp
yauhsien has quit [Ping timeout: 240 seconds]
serbest has joined #commonlisp
molson has joined #commonlisp
waleee has quit [Ping timeout: 244 seconds]
gxt has quit [Ping timeout: 268 seconds]
gxt has joined #commonlisp
karlosz has joined #commonlisp
nyx_land has joined #commonlisp
orestarod has quit [Ping timeout: 255 seconds]
karlosz_ has joined #commonlisp
karlosz has quit [Ping timeout: 244 seconds]
karlosz_ is now known as karlosz
karlosz has quit [Ping timeout: 240 seconds]
karlosz has joined #commonlisp
akoana has left #commonlisp [Leaving]
karlosz_ has joined #commonlisp
gxt has quit [Remote host closed the connection]
gxt has joined #commonlisp
mon_aaraj has quit [Ping timeout: 244 seconds]
karlosz has quit [Ping timeout: 240 seconds]
hashfunc3f5 has quit [Ping timeout: 240 seconds]
Oladon has joined #commonlisp
mon_aaraj has joined #commonlisp
karlosz_ has quit [Ping timeout: 240 seconds]
perrierjouet has quit [Quit: WeeChat 3.5]
yauhsien has joined #commonlisp
yauhsien has quit [Ping timeout: 272 seconds]
causal has quit [Quit: WeeChat 3.5]
serbest has quit [Quit: Leaving]
tyson2 has quit [Remote host closed the connection]
Oladon has quit [Quit: Leaving.]
pranavats has left #commonlisp [Disconnected: Replaced by new connection]
pranavats has joined #commonlisp
jmdaemon has joined #commonlisp
hineios has quit [Read error: Connection reset by peer]
qhong has quit [Read error: Connection reset by peer]
qhong has joined #commonlisp
hineios has joined #commonlisp
qhong has quit [Read error: Connection reset by peer]
qhong has joined #commonlisp
SR-71 has joined #commonlisp
Oladon has joined #commonlisp
perrierjouet has joined #commonlisp
dec0d3r has joined #commonlisp
azimut has quit [Ping timeout: 268 seconds]
aartaka has joined #commonlisp
yauhsien has joined #commonlisp
Oladon has quit [Read error: Connection reset by peer]
Oladon has joined #commonlisp
yauhsien has quit [Ping timeout: 240 seconds]
Oladon has quit [Quit: Leaving.]
chip2n has quit [Ping timeout: 240 seconds]
<pjb> ksp: (let ((*print-base* 4)) (format nil "~A" 42)) #| --> "222" |# (format nil "~4R" 42) #| --> "222" |#
<pjb> ksp: but note: (let ((*print-base* 4)) (format nil "~D" 42)) #| --> "42" |#
anticomputer has quit [Remote host closed the connection]
karlosz has joined #commonlisp
anticomputer has joined #commonlisp
mon_aaraj has quit [Ping timeout: 240 seconds]
mon_aaraj has joined #commonlisp
anticomputer_ has joined #commonlisp
anticomputer has quit [Ping timeout: 268 seconds]
igemnace has joined #commonlisp
karlosz has quit [Ping timeout: 272 seconds]
semz has quit [Quit: ZNC 1.7.5+deb4 - https://znc.in]
semz has joined #commonlisp
Inline has quit [Quit: Leaving]
jmdaemon has quit [Ping timeout: 244 seconds]
chip2n has joined #commonlisp
pve has joined #commonlisp
cage has joined #commonlisp
analogsalad has joined #commonlisp
shka has joined #commonlisp
epolanski has joined #commonlisp
Inline has joined #commonlisp
verisimilitude has quit [Ping timeout: 244 seconds]
Brucio-61 has quit [Remote host closed the connection]
mon_aaraj has quit [Ping timeout: 240 seconds]
mon_aaraj has joined #commonlisp
mon_aaraj has quit [Ping timeout: 276 seconds]
mon_aaraj has joined #commonlisp
scymtym has joined #commonlisp
Dynom_ has joined #commonlisp
Dynom_ is now known as Guest8244
mon_aaraj has quit [Ping timeout: 244 seconds]
mon_aaraj has joined #commonlisp
Brucio-61 has joined #commonlisp
aartaka has quit [Ping timeout: 272 seconds]
aartaka has joined #commonlisp
random-nick has joined #commonlisp
mon_aaraj has quit [Ping timeout: 255 seconds]
mon_aaraj has joined #commonlisp
MajorBiscuit has joined #commonlisp
dec0d3r has quit [Quit: Leaving]
mon_aaraj has quit [Ping timeout: 272 seconds]
mon_aaraj has joined #commonlisp
igemnace has quit [Remote host closed the connection]
mon_aaraj has quit [Ping timeout: 240 seconds]
mon_aaraj has joined #commonlisp
tyson2 has joined #commonlisp
mon_aaraj has quit [Ping timeout: 240 seconds]
mon_aaraj has joined #commonlisp
vassenn has joined #commonlisp
mon_aaraj has quit [Ping timeout: 260 seconds]
mon_aaraj has joined #commonlisp
vassenn has quit [Remote host closed the connection]
MajorBiscuit has quit [Ping timeout: 244 seconds]
aartaka has quit [Ping timeout: 272 seconds]
mon_aaraj has quit [Ping timeout: 272 seconds]
mon_aaraj has joined #commonlisp
orestarod has joined #commonlisp
bitmapper has joined #commonlisp
mon_aaraj has quit [Ping timeout: 272 seconds]
mon_aaraj has joined #commonlisp
mon_aaraj has quit [Ping timeout: 276 seconds]
mon_aaraj has joined #commonlisp
rendar has quit [Ping timeout: 240 seconds]
rendar has joined #commonlisp
rendar has quit [Changing host]
rendar has joined #commonlisp
mon_aaraj has quit [Ping timeout: 240 seconds]
mon_aaraj has joined #commonlisp
gxt has quit [Quit: WeeChat 3.5]
gxt has joined #commonlisp
nij- has joined #commonlisp
<nij-> Hello! Does optimizing compilation-speed to 0 make the object code safer?
<hayley> In theory, no. In practise, probably not.
<White_Flame> it doesn't authorize a high compilation-speed setting to reduce safety
<nij-> It doesn't seem very well-specified what each optimization quality actually means..
<nij-> in CLHS.
<White_Flame> they're basically hints
<nij-> There must be some draw backs to set compilation-speed higher.. what is it?
<White_Flame> generally less time spent trying to find optimizations
<White_Flame> you could get faster execution by sacrificing compilation speed
<White_Flame> s/could/might/ to be extra clear
<nij-> Oh, got it. But it's not so well-specified how each optimization level behaves, right?
<nij-> It's up to the implementations.
<White_Flame> correct, and it shouldn't be well-specified, because safety/speed/debug/etc techniques of compilers will change over time and it'd be dumb to lock those settings in to whatever happens to be known at the time of writing
<nij-> oh! that's why. thanks :)
<beach> Does the standard require a conforming implementation to document what they mean, though?
<beach> clhs 1.5.1.2
<specbot> Documentation of Implementation-Dependent Features: http://www.lispworks.com/reference/HyperSpec/Body/01_eab.htm
<beach> I guess not.
mon_aaraj has quit [Ping timeout: 240 seconds]
mon_aaraj has joined #commonlisp
<nij-> Oh there's a difference between implementation-defined and implementation-dependent.
morganw has joined #commonlisp
analogsalad has quit [Remote host closed the connection]
euandreh has quit [Ping timeout: 240 seconds]
X-Scale` has joined #commonlisp
X-Scale has quit [Ping timeout: 272 seconds]
X-Scale` is now known as X-Scale
X-Scale` has joined #commonlisp
X-Scale has quit [Ping timeout: 276 seconds]
X-Scale` is now known as X-Scale
<pve> Hi, (a b c &optional) is a legal ordinary lambda list, right? (i mean with nothing following the &optional keyword)
nij- has quit [Ping timeout: 260 seconds]
<pjb> let's see…
<pjb> pve: yes, it seems it is legal: [&optional {var | (var [init-form [supplied-p-parameter]])}*]
<pve> pjb: thank you
<pjb> (parse-lambda-list '(a b c &optional) :ordinary) #| --> #<ordinary-lambda-list #x30200267E9ED> |#
<pjb> (a b c &optional &key &aux) also is valid.
<pjb> (but not &rest)
<pve> right
tyson2 has quit [Remote host closed the connection]
<jcowan> I have a naming problem. Suppose we have a set s = {1,2,3} where the equality predicate is =. Then there are two operations for adjoining the element 1.0 to s: one returns {1,2,3} and the other returns {1.0,2,3}. The first is set-adjoin, but what should the other be called?
vassenn has joined #commonlisp
<pjb> jcowan: it doesn't matter since the elements are = the sets are equal too!
<jcowan> Yes. but it still matters because when you examine the set elements one by one you'll be able to differentiate between 1 and 1.0 using EQL.
pranavats has left #commonlisp [Error from remote client]
<pjb> (alexandria:set-equal '(1 2 3) '(1.0 2 3) :test '=) #| --> t |#
<pjb> jcowan: then you don't want to work with = sets. You want to work with EQL sets.
<pjb> and perhaps the first operation is (set-replace '(1 2 3) 1 1.0)
<pjb> jcowan: you could just use a prime: (set-adjoin* …) vs. (set-adjoin …)
<pjb> jcowan: but semantically, it's really a replace.
<jcowan> good point
<pjb> jcowan: assume you use (set-adjoin p s :test '= :key 'person-age) vs. (set-replace p s :test '= :key 'person-age)
<jcowan> I don't see any need for an "old" argument, though: (set-replace '(1 2 3) 1.0 #'=) is unambiguous.
<jcowan> btw, why '= instead of #'=?
<pjb> jcowan: just shortcut in the REPL and irc channels. It would be (function =) in source files, of course.
mon_aaraj has quit [Ping timeout: 260 seconds]
<jcowan> ah, yes, I always forget that a symbol is a function designator if it has a function definition.
vassenn has quit [Quit: Good bye!]
mon_aaraj has joined #commonlisp
<jcowan> It's a little funky that (set-replace '(1 2 3) 4) => (1 2 3 4), but there is no other natural meaning.
<pjb> (set-replace old new set) = (union (set-difference set (set old)) (set new))
bitmapper has quit [Quit: Connection closed for inactivity]
<jcowan> yes, but that's not the function I want to implement: I want to implement "adjoin e to s, if e in s already, e prevails."
<jcowan> (as opposed to set-adjoin which returns s iff s in e)
<jcowan> it's the non-standard SQL UPSERT operator.
<pjb> set-upsert then?
<jcowan> set-adjoin/replace might be clearer
mon_aaraj has quit [Ping timeout: 276 seconds]
mon_aaraj has joined #commonlisp
random-nick has quit [Ping timeout: 240 seconds]
random-nick has joined #commonlisp
orestarod has quit [Ping timeout: 244 seconds]
mon_aaraj has quit [Ping timeout: 272 seconds]
mon_aaraj has joined #commonlisp
yauhsien has joined #commonlisp
orestarod has joined #commonlisp
tyson2 has joined #commonlisp
aartaka has joined #commonlisp
cage has quit [Remote host closed the connection]
cage has joined #commonlisp
azimut has joined #commonlisp
verisimilitude has joined #commonlisp
puchacz has joined #commonlisp
yauhsien has quit [Ping timeout: 272 seconds]
tyson2 has quit [Remote host closed the connection]
analogsalad has joined #commonlisp
nij- has joined #commonlisp
epolanski has quit [Quit: Connection closed for inactivity]
yauhsien has joined #commonlisp
yauhsien has quit [Remote host closed the connection]
yauhsien has joined #commonlisp
cage has quit [Quit: rcirc on GNU Emacs 27.1]
yauhsien has quit [Ping timeout: 264 seconds]
nij- has left #commonlisp [Using Circe, the loveliest of all IRC clients]
karlosz has joined #commonlisp
mrcom__ has quit [Quit: Leaving]
karlosz has quit [Ping timeout: 244 seconds]
grawlinson has quit [Quit: SIGTERM]
grawlinson has joined #commonlisp
<pve> Predicates often have the suffix "-p", but is there a naming convention for functions that return predicates? For instance:
<pve> (defun make-car-predicate (object) (lambda (cons) (eql (car cons) object)))
<pve> I would like to have a better name than make-car-predicate
<pve> not that there's anything wrong with it, but it seems like something that might have an established convention..
<pjb> nope, make-car-predicate is ok.
<pve> pjb: ok, thanks
<pve> i was thinking of using the suffix "-hop" to indicate that it's a "higher-order" predicate
<pjb> if you want.
<_death> I believe that's a curried version of an operator historically called CARIS.. maybe I'd name it similarly
karlosz has joined #commonlisp
<pve> _death: that's cool to know, never heard of "caris"
<_death> I know PG used it.. but can't find a reference for it in Lisp manuals atm
karlosz_ has joined #commonlisp
<pve> i don't suppose there's a convention for naming curried versions of functions in general, is there?
<_death> well, I think PAIP, maybe others, used names like EQUALS-TO
<_death> there's no convention, what sounds good
<pve> ok great, thanks
karlosz has quit [Ping timeout: 240 seconds]
karlosz has joined #commonlisp
rendar has quit [Quit: Leaving]
rendar has joined #commonlisp
rendar has joined #commonlisp
karlosz_ has quit [Ping timeout: 240 seconds]
puchacz has quit [Quit: Client closed]
karlosz has quit [Ping timeout: 240 seconds]
waleee has joined #commonlisp
jolby has joined #commonlisp
karlosz has joined #commonlisp
karlosz has quit [Ping timeout: 240 seconds]
cosimone has quit [Remote host closed the connection]
jolby has quit [Quit: Client closed]
rendar has quit [Quit: Leaving]
rendar has joined #commonlisp
rendar has quit [Changing host]
rendar has joined #commonlisp
anticomputer has joined #commonlisp
azimut has quit [Quit: ZNC - https://znc.in]
anticomputer_ has quit [Remote host closed the connection]
azimut has joined #commonlisp
karlosz has joined #commonlisp
anticomputer has quit [Remote host closed the connection]
anticomputer has joined #commonlisp
dra has joined #commonlisp
Guest8244 has quit [Quit: WeeChat 3.5]
karlosz has quit [Ping timeout: 240 seconds]
random-nick has quit [Ping timeout: 268 seconds]
random-nick has joined #commonlisp
rendar has quit [Quit: Leaving]
mrcom has joined #commonlisp
shka has quit [Ping timeout: 255 seconds]
rendar has joined #commonlisp
rendar has joined #commonlisp
rendar has quit [Read error: Connection reset by peer]
rendar has joined #commonlisp
rendar has quit [Changing host]
rendar has joined #commonlisp
karlosz has joined #commonlisp
karlosz has quit [Client Quit]
rendar has quit [Quit: Leaving]
akoana has joined #commonlisp
rendar has joined #commonlisp
rendar has quit [Changing host]
rendar has joined #commonlisp
SR-71 has quit [Ping timeout: 255 seconds]
rendar has quit [Quit: Leaving]
<verisimilitude> Why not MAKE-CARP or, to generalize, MAKE-FUNCTIONP?
orestarod has quit [Ping timeout: 272 seconds]
analogsalad has quit [Quit: bye]
mfiano has quit [Ping timeout: 244 seconds]
<hayley> (test bla :test #'eql :key #'car)
mfiano has joined #commonlisp
pve has quit [Quit: leaving]
karlosz has joined #commonlisp
mon_aaraj has quit [Ping timeout: 255 seconds]
mon_aaraj has joined #commonlisp
morganw has quit [Remote host closed the connection]
parjanya has joined #commonlisp
karlosz_ has joined #commonlisp
karlosz has quit [Ping timeout: 240 seconds]
karlosz_ is now known as karlosz
pillton has joined #commonlisp
<gin> (defvar *a* (list :a "apple" :b "ball")) - How can I add a new key value like :c "cat" to this plist *a*?
<gin> (setf (getf *a* :c) "cat") seems to work
dra has quit [Ping timeout: 244 seconds]
Lord_of_Life has quit [Ping timeout: 240 seconds]
Lord_of_Life_ has joined #commonlisp
jolby has joined #commonlisp
jolby has quit [Client Quit]
Lord_of_Life_ is now known as Lord_of_Life
<White_Flame> gin: yes, that's the appropriate p-list api way of doing it
<White_Flame> if there already was a :c in there, it would have replaced the old value
hashfuncb81 has joined #commonlisp
X-Scale has quit [Ping timeout: 272 seconds]
X-Scale` has joined #commonlisp