selwyn has quit [Read error: Connection reset by peer]
random-nick has quit [Ping timeout: 252 seconds]
joeyxl has quit [Read error: Connection reset by peer]
taiju has joined #commonlisp
yitzi has joined #commonlisp
Alfr has quit [Quit: Leaving]
joeyxl has joined #commonlisp
lisp123 has joined #commonlisp
lisp123 has quit [Ping timeout: 240 seconds]
srhm has quit [Quit: Konversation terminated!]
tyson2 has quit [Remote host closed the connection]
ec has quit [Ping timeout: 244 seconds]
ec has joined #commonlisp
hendursaga has quit [Ping timeout: 244 seconds]
hendursaga has joined #commonlisp
taiju has quit [Ping timeout: 252 seconds]
Bike has quit [Quit: Lost terminal]
Oladon has joined #commonlisp
igemnace has quit [Quit: WeeChat 3.2]
<beach> Good morning everyone!
akoana has quit [Quit: leaving]
IAmRasputin has quit [Ping timeout: 255 seconds]
IAmRasputin has joined #commonlisp
taiju has joined #commonlisp
IAmRasputin has quit [Ping timeout: 265 seconds]
Oladon has quit [Read error: Connection reset by peer]
Oladon has joined #commonlisp
CrashTestDummy2 has joined #commonlisp
froggey has quit [Ping timeout: 252 seconds]
froggey has joined #commonlisp
CrashTestDummy3 has quit [Ping timeout: 252 seconds]
taiju has quit [Ping timeout: 255 seconds]
CrashTestDummy3 has joined #commonlisp
CrashTestDummy2 has quit [Ping timeout: 252 seconds]
CrashTestDummy2 has joined #commonlisp
CrashTestDummy3 has quit [Ping timeout: 255 seconds]
azimut has quit [Remote host closed the connection]
azimut has joined #commonlisp
CrashTestDummy3 has joined #commonlisp
CrashTestDummy2 has quit [Ping timeout: 255 seconds]
<leo_song> is it safe to run Quicklisp in an unsafe network? like apublic wifi.
lisp123 has joined #commonlisp
selwyn has joined #commonlisp
lisp123 has quit [Ping timeout: 246 seconds]
raeda has joined #commonlisp
dsk has joined #commonlisp
shka has joined #commonlisp
<^[> leo_song: It depends on your threat model. Some might argue that it's not safe to run Quicklisp anywhere, because it doesn't use TLS or verify downloaded packages.
luis has quit [*.net *.split]
dilated_dinosaur has quit [*.net *.split]
edgar-rft has quit [*.net *.split]
makomo has quit [*.net *.split]
moon-child has quit [*.net *.split]
MetaYan has quit [*.net *.split]
_death has quit [*.net *.split]
jfb4 has quit [*.net *.split]
Vultyre has quit [*.net *.split]
micro has quit [*.net *.split]
gpiero has quit [*.net *.split]
scymtym has quit [*.net *.split]
andreyorst has quit [*.net *.split]
zagura has quit [*.net *.split]
fengshaun has quit [*.net *.split]
phadthai has quit [*.net *.split]
energizer has quit [*.net *.split]
jdz has quit [*.net *.split]
dtman34 has quit [*.net *.split]
scymtym has joined #commonlisp
micro has joined #commonlisp
dtman34 has joined #commonlisp
phadthai has joined #commonlisp
_death has joined #commonlisp
fengshaun has joined #commonlisp
andreyorst has joined #commonlisp
luis has joined #commonlisp
energizer has joined #commonlisp
dilated_dinosaur has joined #commonlisp
jdz has joined #commonlisp
Vultyre has joined #commonlisp
edgar-rft has joined #commonlisp
gpiero has joined #commonlisp
jfb4 has joined #commonlisp
makomo has joined #commonlisp
MetaYan has joined #commonlisp
zagura has joined #commonlisp
moon-child has joined #commonlisp
joeyxl has quit [Ping timeout: 255 seconds]
<pjb> leo_song: what is not safe is to execute code that you haven't checked and validated. So ftp+asdf can be as unsafe as quicklisp, if you don't add an audit in the middle.
<pjb> leo_song: now arguably, quicklisp doesn't have an audit hook between transfer and asdf (and asdf itself is already executing code from the asd file), so quicklisp is fundamentaly more unsafe than ftp+audit+asdf.
selwyn has quit [Read error: Connection reset by peer]
<pjb> leo_song: the security model adopted here is the herd security. You just keep your ear open, and listen if somebody else has had a problem. And you'll react in that case. But it may be you… https://www.youtube.com/watch?v=Q2KwRPtEjco
joeyxl has joined #commonlisp
<moon-child> I guess the specific concern (given public wifi) is mitm. The question then is whether asdf uses a secure transport layer and/or does signature checking
phantomics has quit [Quit: Ex-Chat]
lisp123 has joined #commonlisp
CrashTestDummy2 has joined #commonlisp
CrashTestDummy3 has quit [Ping timeout: 252 seconds]
CrashTestDummy3 has joined #commonlisp
CrashTestDummy2 has quit [Ping timeout: 252 seconds]
pve has joined #commonlisp
treflip has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
<kakuhen> another day, another ccl kernel error
<kakuhen> but this time it's for a really reason: turns out the placement of your assets folder matters A LOT if you use cl-sdl2... the wrong placement of the binary will give you "unrecoverable stack overflow error" and drop you to the kernel debugger
<kakuhen> for a really funny reason*
Guest1740 has joined #commonlisp
Guest1740 has left #commonlisp [#commonlisp]
Oladon has quit [Quit: Leaving.]
derelict has joined #commonlisp
derelict has quit [Client Quit]
hendursa1 has joined #commonlisp
taiju has joined #commonlisp
hendursaga has quit [Ping timeout: 244 seconds]
mariari has quit [Ping timeout: 252 seconds]
derelict has joined #commonlisp
derelict has quit [Client Quit]
Lord_of_Life_ has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 255 seconds]
Lord_of_Life_ is now known as Lord_of_Life
lotuseater has joined #commonlisp
notzmv has quit [Read error: Connection reset by peer]
CrashTestDummy2 has joined #commonlisp
CrashTestDummy3 has quit [Ping timeout: 252 seconds]
lisp123 has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
selwyn has joined #commonlisp
Lycurgus has joined #commonlisp
Devon has quit [Ping timeout: 255 seconds]
flip214 has quit [Ping timeout: 272 seconds]
flip214 has joined #commonlisp
spacebat1 has quit [Ping timeout: 272 seconds]
spacebat1 has joined #commonlisp
Lycurgus has quit [Quit: Exeunt]
peterhil has quit [Ping timeout: 272 seconds]
rgherdt has joined #commonlisp
susam has quit [Quit: ZNC 1.7.2+deb3 - https://znc.in]
susam has joined #commonlisp
Inline has quit [Quit: Leaving]
Inline has joined #commonlisp
Inline_ has joined #commonlisp
Inline_ has quit [Client Quit]
Inline_ has joined #commonlisp
Inline has quit [Ping timeout: 252 seconds]
Inline_ is now known as Inline
Inline has quit [Client Quit]
Inline has joined #commonlisp
notzmv has joined #commonlisp
pranavats has left #commonlisp [Disconnected: Replaced by new connection]
pranavats has joined #commonlisp
kakuhen has quit [Quit: Leaving...]
yitzi has quit [Quit: Leaving]
lisp123 has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
selwyn has quit [Read error: Connection reset by peer]
tyson2 has joined #commonlisp
lisp123 has quit [Ping timeout: 255 seconds]
d4ryus has quit [Ping timeout: 272 seconds]
d4ryus has joined #commonlisp
yitzi has joined #commonlisp
yitzi has quit [Quit: Leaving]
peterhil has joined #commonlisp
lisp123 has joined #commonlisp
random-nick has joined #commonlisp
selwyn has joined #commonlisp
lisp123 has quit [Ping timeout: 272 seconds]
kpoeck has joined #commonlisp
cage has joined #commonlisp
CrashTestDummy has joined #commonlisp
Devon has joined #commonlisp
Devon is now known as Devon7
Devon7 is now known as Devon
CrashTestDummy2 has quit [Ping timeout: 258 seconds]
lisp123 has joined #commonlisp
lisp123 has quit [Ping timeout: 252 seconds]
peterhil has quit [Quit: Must not waste too much time here...]
yitzi has joined #commonlisp
hendursa1 has quit [Quit: hendursa1]
hendursaga has joined #commonlisp
joeyxl has quit [Read error: Connection reset by peer]
joeyxl has joined #commonlisp
varjag has joined #commonlisp
ec has quit [Remote host closed the connection]
ec has joined #commonlisp
joeyxl has quit [Ping timeout: 240 seconds]
joeyxl has joined #commonlisp
peterhil has joined #commonlisp
mcfrdy has joined #commonlisp
joeyxl has quit [Read error: Connection reset by peer]
joeyxl has joined #commonlisp
joeyxl has quit [Client Quit]
joeyxl has joined #commonlisp
igemnace has joined #commonlisp
joeyxl has quit [Read error: Connection reset by peer]
joeyxl has joined #commonlisp
notzmv has quit [Ping timeout: 252 seconds]
leeb has quit [Quit: WeeChat 3.1]
lisp123 has joined #commonlisp
joeyxl has quit [Ping timeout: 240 seconds]
amb007 has quit [Read error: Connection reset by peer]
lisp123 has quit [Ping timeout: 255 seconds]
amb007 has joined #commonlisp
joeyxl has joined #commonlisp
Josh_2 has joined #commonlisp
<Josh_2> Hi
<Josh_2> What fun should I pass to every to check if an element is non nil?
<Josh_2> Obv null checks if its nil, whats the opposite of null :think:
<Josh_2> maybe this is why people use (loop ... :thereis )
<Josh_2> (every (lambda (e) e) just seems long
<_death> identity
<_death> THEREIS is SOME, not EVERY..
notzmv has joined #commonlisp
selwyn has quit [Read error: Connection reset by peer]
lisp123 has joined #commonlisp
<mfiano> Josh_2: #'identity, or if it conveys the intent better, (notany #'null ...)
nature has joined #commonlisp
selwyn has joined #commonlisp
<jcowan> Or #'values, though that is not as clear as #'identity
joeyxl has quit [Read error: Connection reset by peer]
Oladon has joined #commonlisp
CrashTestDummy2 has joined #commonlisp
joeyxl has joined #commonlisp
<Josh_2> Thanks
CrashTestDummy has quit [Ping timeout: 272 seconds]
mariari has joined #commonlisp
char has joined #commonlisp
selwyn has quit [Read error: Connection reset by peer]
waleee has quit [Ping timeout: 252 seconds]
CrashTestDummy3 has joined #commonlisp
CrashTestDummy2 has quit [Ping timeout: 246 seconds]
kpoeck has quit [Ping timeout: 246 seconds]
kpoeck has joined #commonlisp
joeyxl has quit [Read error: Connection reset by peer]
waleee has joined #commonlisp
kpoeck has quit [Ping timeout: 246 seconds]
<gin> Is there a funcall equivalent for invoking a macro?
svillemot has joined #commonlisp
<beach> You can call the macro function manually.
<beach> (funcall (macro-function 'when) '(when aa 234) nil)
kpoeck has joined #commonlisp
<beach> Or you can use macroexpand.
<beach> gin: What is it that you want to do?
<gin> beach: macroexpand only expands the macro? it does not invoke it, right?
<MichaelRaskin> Arguably you want mactoexpand-1
<beach> gin: What does it mean to "invoke" a macro?
<MichaelRaskin> macroexpand and macroexpand-1 perform the expansion but do not evaluate the result of the expansion
waleee has quit [Ping timeout: 252 seconds]
<gin> beach: I have a macro add-key-value to add a key value pair to an alist. I wrote a macro for this because that is the only way I see to implement something like (add-key-value "name" "Harry" alist) type of calls.
<beach> gin: Macros are usually compile-time features. It doesn't make much sense to "invoke" them at run time.
<gin> beach: So the problem I have having is that if I have another function that takes alist and uses add-key-value, this function should also become a macro now to avoid alist being copied by value to this function.
<pjb> gin: you can just eval the macroform too.
<beach> gin: Nothing is ever copied implicitly in Common Lisp.
<pjb> gin: you want to write a setf function or define setf-expander.
<gin> beach: how can I implement function add-key-value so that (add-key-value "name" "Harry" alist) works then. With a function, I see the alist I pass never sees the change done within add-key-value
makomo has quit [Quit: WeeChat 3.0.1]
<beach> gin: So you don't mean that you add things to an alist. You mean that you modify the place that contains the alist.
<gin> beach: yes. but I was originally looking to modify the alist itself. when I could not do that I modified the place containing the alist using defmacro
<beach> gin: I suggest you turn your alist into an abstract data type that you can then modify with a function.
<beach> gin: Alists and lists in general, are not abstract data types. They should mostly be used as building blocks for abstract data types. Not so much be used by themselves for things like this.
<beach> gin: If you insist on using alists, then use the return value of your addition function.
<beach> gin: Like (setf <place> (add-key-value <key> <value> <alist>)).
<beach> gin: Then add-key-value can be an ordinary function.
<beach> gin: (defclass dictionary () ((%contents :initform '() :accessor contents)))
<beach> gin: Then (defun add-key-value (key value dictionary) (push (cons key value) (contents dictionary)))
<beach> Now you have a proper abstract data type.
Kabriel is now known as skempf
<beach> gin: Anyway, I need to vanish. Good luck!
lisp123 has quit [Remote host closed the connection]
<gin> beach: thanks!
lisp123 has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
joeyxl has joined #commonlisp
<pjb> gin: notice how (let ((a '())) (values (setf (aget a :key) 42) a)) #| --> 42 ; ((:key . 42)) |# (setf aget) both returns the new value 42, and mutates the place A (which could be more complex than just a mere variable reference, and still handled correctly thanks to get-setf-expander and define-setf-expander).
<pjb> gin: of course, you can s/aget/key-value/g and (setf (key-value person-alist :name) "Harry")
<char> What is suggested alternative to SET? I need SETQ but my symbol is already quoted.
<Xach> char: nothing wrong with SET
<Xach> char: it is pretty rare though
<Xach> char: (setf (symbol-value symbol) ...) might be more modern
CrashTestDummy2 has joined #commonlisp
CrashTestDummy3 has quit [Ping timeout: 255 seconds]
<char> hyperspec says set is depricated. It also seems that both set and symbol-value cannot access the lexical value of a symbol
<Xach> that's right.
<Xach> i don't let the hyperspec's deprecation tell me what to do!
<char> okay, but the no lexical access is a problem because the symbol is lexically bound
<Xach> char: that means it's time to think about a different approach, like maybe having a lookup table keyed by symbols instead.
<Xach> but the best option depends on context and task
kpoeck42 has joined #commonlisp
<Xach> Can you explain that stuff a bit?
<Xach> I'm curious about how you get the symbol, for example
kpoeck has quit [Ping timeout: 246 seconds]
<char> it is for my tailrec macro, someone told me to stop using destructuring-bind and set the variables manually (to avoid code duplication in macroexpandsion). So I have quoted symbols (that were present in the original lambda list and used in the body of the function, and I have their values stored in a list in a (gensymed) symbol. I was thinking "just (mapc 'set ',params ,args)", but since the params are lexically bound, it is almost as
<char> if they are never set at all.
selwyn has joined #commonlisp
<char> keep in mind that paramas is a list of symbols at macro time, and args is the gensym containing the list of values at run time.
<char> my thought was that I can't map over args at compile time because the list doesn't exist yet, but is should be the same length as params, so maybe I can expand a bunch of (setq ,param (elt ,args n).
lisp123 has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
lisp123 has quit [Ping timeout: 255 seconds]
lisp123 has joined #commonlisp
yitzi has quit [Quit: Leaving]
Lycurgus has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
andreyorst has quit [Ping timeout: 252 seconds]
andreyorst has joined #commonlisp
pjb has quit [Remote host closed the connection]
joeyxl has quit [Read error: Connection reset by peer]
lisp123 has quit [Ping timeout: 252 seconds]
<Xach> char: a reasonable approach (though elt is not the best)
<char> Jeez louise, what is wrong with elt? better to use nth?
<shka> char: elt on the list has O(n) complexity
<shka> where n is the index
<shka> so clearly not ideal
<mfiano> It's also more generic and potentially slower than other methods.
<shka> less of a problem imho
<mfiano> ELT is a good choice if the intent to the reader is that it is operating on a more generic sequence
<char> shka: right, of course, but I don't have much of a choice in my situation. Also the list will be fairly short
<shka> oh, there is one more good reason to use elt
<shka> char: maybe you can paste your code somewhere
<shka> ?
<shka> elt will signal error, when the index is out of bounds
<shka> which is not guaranteed in aref
<shka> oh wow, that is one long macro
<char> signaling an error if out of bounds is actually desireable in this case.
<shka> it is almost always desirable imho :-)
<shka> char: i overestimated my will to read code today
<shka> however, usually people will rather use with-gensyms instead of explicit (gensym) in let
<shka> alexandria:with-gensyms
<char> shka: if only I had known about with-gensyms
<shka> well, do you happen to know about the macrolet?
<pranavats> And you might also consider using mapcar instead of (map 'list ...) given that more specific forms are easier to read.
<char> I have heard of it, but I don't understand it, just makes a local macro?
<shka> yeah
<shka> however, it's utility stems from the fact that it is very useful when you may otherwise need to write code walker
joeyxl has joined #commonlisp
<shka> and defmacro expanding int macrolet is a pattern
Lycurgus has quit [Quit: Exeunt]
<shka> if all you really want to do is to go start when recursive call is spotted
tyson2 has quit [Ping timeout: 272 seconds]
<shka> then you may simply defmacro... `(defun ,function-name (,@arguments) (tagbody ,!start (macrolet ((,function-name (,@!generated-arguments) `(progn arguments-handling-goes-here (go ,',!start)...
<shka> i may write this for you, give me a sec
joeyxl has quit [Ping timeout: 240 seconds]
joeyxl has joined #commonlisp
lisp123 has joined #commonlisp
joeyxl has quit [Ping timeout: 240 seconds]
<char> shka: pull requests welcome
<shka> char: ha, i don't feel so confident in my understanding of your code
<shka> anyway
<shka> this works in such way that recursive call is replaced by go-to-start
cage has quit [Quit: rcirc on GNU Emacs 27.1]
<shka> which is what you were doing if i understand correctly
<shka> this code is much shorter and simpler though
<shka> thanks to that macrolet that will shadow the function-name in the lexical scope
<shka> neat trick in situations such as this
lisp123 has quit [Ping timeout: 265 seconds]
Oladon has quit [Quit: Leaving.]
joeyxl has joined #commonlisp
pjb has joined #commonlisp
joeyxl has quit [Ping timeout: 240 seconds]
akoana has joined #commonlisp
<char> shka: That took me a bit to understand, but I think I get it now. It is neat, but I don't think it is right for this project, since once of the goals is that non-tail-recursive functions should still function properly.
treflip has quit [Quit: good night]
kpoeck42 has quit [Ping timeout: 246 seconds]
joeyxl has joined #commonlisp
ec has quit [Ping timeout: 244 seconds]
ec has joined #commonlisp
waleee has joined #commonlisp
joeyxl has quit [Read error: Connection reset by peer]
joeyxl has joined #commonlisp
joeyxl has quit [Ping timeout: 240 seconds]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
ggoes has quit [Quit: WeeChat 2.3]
ggoes has joined #commonlisp
mariari has quit [Quit: WeeChat 3.2]
Danishman has joined #commonlisp
joeyxl has joined #commonlisp
joeyxl has quit [Read error: Connection reset by peer]
shka has quit [Ping timeout: 255 seconds]
amb007 has quit [Ping timeout: 268 seconds]
amb007 has joined #commonlisp
char has quit [Ping timeout: 265 seconds]
joeyxl has joined #commonlisp
joeyxl has quit [Ping timeout: 240 seconds]
kakuhen has joined #commonlisp
joeyxl has joined #commonlisp
tyson2 has joined #commonlisp
joeyxl has quit [Ping timeout: 240 seconds]
nature has quit [Quit: Lost terminal]
selwyn_ has joined #commonlisp
peterhil has quit [Ping timeout: 252 seconds]
selwyn has quit [Ping timeout: 252 seconds]
joeyxl has joined #commonlisp
lisp123 has joined #commonlisp
joeyxl has quit [Ping timeout: 240 seconds]
lisp123 has quit [Ping timeout: 258 seconds]
joeyxl has joined #commonlisp
joeyxl has quit [Ping timeout: 240 seconds]
varjag has quit [Remote host closed the connection]
varjag has joined #commonlisp
srhm has joined #commonlisp
tyson2 has quit [Ping timeout: 265 seconds]
varjag has quit [Ping timeout: 258 seconds]
lotuseater has quit [Quit: ERC (IRC client for Emacs 27.2)]
Devon has quit [Ping timeout: 252 seconds]
dsk has quit [Ping timeout: 255 seconds]
deckard has joined #commonlisp
pve_ has joined #commonlisp
edgar-rft has quit [Remote host closed the connection]
pve has quit [Ping timeout: 255 seconds]
edgar-rft has joined #commonlisp
Devon has joined #commonlisp
pve_ has quit [Quit: leaving]
azimut has quit [Ping timeout: 244 seconds]
azimut has joined #commonlisp
rgherdt has quit [Ping timeout: 252 seconds]
random-nick has quit [Ping timeout: 252 seconds]
joeyxl has joined #commonlisp
Oladon has joined #commonlisp
IAmRasputin has joined #commonlisp
taiju has quit [Ping timeout: 255 seconds]
IAmRasputin has quit [Ping timeout: 272 seconds]
svillemot has quit [Quit: WeeChat 3.0]
svillemot has joined #commonlisp
luis has quit [Ping timeout: 258 seconds]
taiju has joined #commonlisp