jackdaniel 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/> | offtopic --> #lispcafe
theothor` has joined #lisp
notzmv has quit [Remote host closed the connection]
theothor` has quit [Ping timeout: 246 seconds]
fengshaun has quit [Ping timeout: 264 seconds]
Fare has joined #lisp
dilated_dinosaur has quit [Ping timeout: 240 seconds]
hhdave has quit [Ping timeout: 240 seconds]
hhdave has joined #lisp
ralt has quit [Quit: Connection closed for inactivity]
theothor` has joined #lisp
aindilis has joined #lisp
theothor` has quit [Ping timeout: 264 seconds]
zacts has quit [Quit: leaving]
akoana has left #lisp ["Leaving"]
theothor` has joined #lisp
Blukunfando has joined #lisp
ukari has quit [Remote host closed the connection]
theothor` has quit [Ping timeout: 256 seconds]
ukari has joined #lisp
theothor` has joined #lisp
theothor` has quit [Ping timeout: 256 seconds]
ganjajim has quit [Remote host closed the connection]
Lycurgus has quit [Quit: Exeunt]
Demosthenex has quit [Ping timeout: 264 seconds]
contrapunctus has left #lisp ["Disconnected: closed"]
hendursaga has joined #lisp
Demosthenex has joined #lisp
contrapunctus has joined #lisp
hendursa1 has quit [Ping timeout: 268 seconds]
pankajsg has quit [Ping timeout: 240 seconds]
theothor` has joined #lisp
renzhi has quit [Read error: Connection reset by peer]
theothor` has quit [Ping timeout: 264 seconds]
pfdietz has quit [Quit: Ping timeout (120 seconds)]
Bike has quit [Quit: Ping timeout (120 seconds)]
theothor` has joined #lisp
theothor` has quit [Ping timeout: 246 seconds]
dbotton has joined #lisp
impgourd has joined #lisp
fengshaun has joined #lisp
pfdietz has joined #lisp
Bike has joined #lisp
<dbotton> There is nothing like working on a gui / web page etc and modifying it live with no need to reload etc I really love Common-Lisp, even just code in general is like modeling clay instead of flat paintings.
theothor` has joined #lisp
semz has quit [Ping timeout: 258 seconds]
<dbotton> No really point in saying this here, but just wanted to show gratitude for the help given me by everyone and the great tools you all work on
<dbotton> Is there a way to setup a "secure" lisp image that will limit system access etc?
<dbotton> It once where letting someone eval code doesn't propose a danger beyond a crash
<dbotton> It once = one
theothor` has quit [Ping timeout: 256 seconds]
toorevitimirp has joined #lisp
semz has joined #lisp
impgourd has quit [Read error: Connection reset by peer]
aeth_ has joined #lisp
aeth has quit [Ping timeout: 256 seconds]
Codaraxis_ has joined #lisp
aeth_ is now known as aeth
<dbotton> b
<dbotton> (Sorry fingers... wrong window)
Codaraxis has quit [Ping timeout: 256 seconds]
jonatack_ has joined #lisp
jonatack has quit [Ping timeout: 246 seconds]
karlosz has joined #lisp
<loke[m]> dbotton: I don't think much work has been done on that topic.
nydel has joined #lisp
nydel has quit [Changing host]
nydel has joined #lisp
<dbotton> I thought I saw something about sicl having that
quazimodo has joined #lisp
Lord_Nightmare has quit [Quit: ZNC - http://znc.in]
Lord_Nightmare has joined #lisp
fengshaun has quit [Quit: bibi!]
abhixec has joined #lisp
logand``` has quit [Ping timeout: 272 seconds]
prxq_ has joined #lisp
theothor` has joined #lisp
<PuercoPop> dbotton: it is in the sense of using first class environments to restrict the functions a lisp repl has access to. But not in the sense of say, restricting which part of the filesystem a syscall can access
<PuercoPop> *sicl did some work on that topic in the senese of ...
prxq has quit [Ping timeout: 246 seconds]
<dbotton> Thanks
theothor` has quit [Ping timeout: 246 seconds]
<PuercoPop> There was a presenting about it a while back. https://youtube.com/watch?v=gE6SsLAZ4Mo&t=258
<PuercoPop> For the other sense you could look into customizing SBCL's main entry point (check the file in src/runtime/main.c) and use OpenBSD's pledge for sandboxing
long4mud has joined #lisp
theothor` has joined #lisp
zacts has joined #lisp
theothor` has quit [Ping timeout: 256 seconds]
hendursa1 has joined #lisp
hendursaga has quit [Ping timeout: 268 seconds]
PuercoPop has quit [Quit: WeeChat 2.8]
theothor` has joined #lisp
<beach> Good morning everyone!
Josh_2 has quit [Remote host closed the connection]
Alfr_ has joined #lisp
kini has quit [Quit: bye]
theothor` has quit [Ping timeout: 264 seconds]
theothor` has joined #lisp
Alfr has quit [Ping timeout: 258 seconds]
kam1 has quit [Read error: Connection reset by peer]
theothor` has quit [Ping timeout: 240 seconds]
jonatack_ has quit [Ping timeout: 264 seconds]
domovod has joined #lisp
orivej has quit [Ping timeout: 264 seconds]
anunnaki has quit [Read error: No route to host]
kam1 has joined #lisp
kam1 has quit [Read error: Connection reset by peer]
enzuru has joined #lisp
enzuru has quit [Client Quit]
enzuru has joined #lisp
enzuru has quit [Client Quit]
enzuru has joined #lisp
enzuru has quit [Client Quit]
enzuru has joined #lisp
enzuru has quit [Client Quit]
johnjay has quit [Ping timeout: 256 seconds]
johnjay has joined #lisp
enzuru has joined #lisp
marusich has joined #lisp
domovod has quit [Quit: WeeChat 3.0]
karlosz has quit [Quit: karlosz]
abhixec has quit [Read error: Connection reset by peer]
theothor` has joined #lisp
aartaka has joined #lisp
theothor` has quit [Ping timeout: 240 seconds]
fengshaun has joined #lisp
fengshaun has quit [Client Quit]
fengshaun has joined #lisp
abhixec has joined #lisp
ljavorsk has quit [Ping timeout: 264 seconds]
fengshaun_ has joined #lisp
fengshaun has quit [Ping timeout: 264 seconds]
fengshaun_ is now known as fengshaun
theothor` has joined #lisp
Fare has quit [Quit: Leaving]
hendursa1 has quit [Remote host closed the connection]
theothor` has quit [Ping timeout: 246 seconds]
hendursa1 has joined #lisp
zacts has quit [Quit: leaving]
luna_is_here has quit [Ping timeout: 272 seconds]
luna_is_here has joined #lisp
ravndal has quit [Quit: WeeChat 3.0]
pankajsg has joined #lisp
Bike has quit [Quit: Connection closed]
kini has joined #lisp
ravndal has joined #lisp
theothor` has joined #lisp
dbotton has quit [Quit: Leaving]
zacts has joined #lisp
theothor` has quit [Ping timeout: 264 seconds]
Blukunfando has quit [Ping timeout: 246 seconds]
theothor` has joined #lisp
zacts has quit [Quit: leaving]
theothor` has quit [Ping timeout: 264 seconds]
zacts has joined #lisp
zacts has quit [Client Quit]
notzmv has joined #lisp
_whitelogger has joined #lisp
theothor` has joined #lisp
narimiran has joined #lisp
theothor` has quit [Ping timeout: 256 seconds]
audioburn has joined #lisp
gaqwas has joined #lisp
marusich has quit [Ping timeout: 240 seconds]
_jrjsmrtn has joined #lisp
__jrjsmrtn__ has quit [Ping timeout: 256 seconds]
gioyik has quit [Quit: WeeChat 3.0]
theothor` has joined #lisp
aartaka_d has joined #lisp
aartaka has quit [Ping timeout: 265 seconds]
hendursaga has joined #lisp
theothor` has quit [Ping timeout: 272 seconds]
nostoi has joined #lisp
hendursa1 has quit [Ping timeout: 268 seconds]
waleee-cl has quit [Quit: Connection closed for inactivity]
theothor` has joined #lisp
nostoi has quit [Quit: Verlassend]
theothor` has quit [Ping timeout: 240 seconds]
GreaseMonkey has quit [Remote host closed the connection]
kini has quit [Remote host closed the connection]
Nilby has joined #lisp
kini has joined #lisp
shka_ has joined #lisp
skapata has quit [Remote host closed the connection]
theothor` has joined #lisp
theothor` has quit [Ping timeout: 246 seconds]
karlosz has quit [Quit: karlosz]
theothor` has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
theothor` has quit [Ping timeout: 272 seconds]
Cymew has joined #lisp
theothor` has joined #lisp
shad0w_ has joined #lisp
theothor` has quit [Ping timeout: 256 seconds]
shad0w_ has quit [Read error: Connection reset by peer]
aartaka has joined #lisp
jprajzne has joined #lisp
aartaka_d has quit [Ping timeout: 272 seconds]
theothor` has joined #lisp
anticrisis_ has quit [Read error: Connection reset by peer]
greaser|q has joined #lisp
theothor` has quit [Ping timeout: 240 seconds]
DGASAU has quit [Ping timeout: 264 seconds]
pve has joined #lisp
ukari has quit [Remote host closed the connection]
ukari has joined #lisp
theothor` has joined #lisp
catt has joined #lisp
theothor` has quit [Ping timeout: 240 seconds]
varjag has joined #lisp
enzuru has quit [Ping timeout: 264 seconds]
rgherdt has joined #lisp
DGASAU has joined #lisp
dilated_dinosaur has joined #lisp
theothor` has joined #lisp
theothor` has quit [Ping timeout: 272 seconds]
Major_Biscuit has joined #lisp
surabax has joined #lisp
hendursa1 has joined #lisp
theothor` has joined #lisp
hendursaga has quit [Ping timeout: 268 seconds]
pillton has quit [Ping timeout: 246 seconds]
hendursaga has joined #lisp
DGASAU has quit [Ping timeout: 256 seconds]
theothor` has quit [Ping timeout: 264 seconds]
hendursa1 has quit [Ping timeout: 268 seconds]
tassleoff_ has joined #lisp
orivej has joined #lisp
DGASAU has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
theothor` has joined #lisp
theothor` has quit [Read error: Connection reset by peer]
theothor` has joined #lisp
amb007 has joined #lisp
theothor` has quit [Ping timeout: 256 seconds]
ljavorsk has joined #lisp
fubbiquantz has joined #lisp
catt has quit [Remote host closed the connection]
paulj has joined #lisp
Krystof has quit [Ping timeout: 246 seconds]
aartaka has quit [Read error: Connection reset by peer]
theothor` has joined #lisp
frodef`` has quit [Remote host closed the connection]
theothornhill has joined #lisp
frodef`` has joined #lisp
theothor` has quit [Ping timeout: 246 seconds]
aartaka has joined #lisp
frodef`` has quit [Remote host closed the connection]
frodef`` has joined #lisp
igemnace has quit [Remote host closed the connection]
jello_pudding has quit [Ping timeout: 258 seconds]
nirved has joined #lisp
nirved has quit [Client Quit]
nirved has joined #lisp
ralt has joined #lisp
nirved has quit [Client Quit]
jello_pudding has joined #lisp
theothor` has joined #lisp
theothor` has quit [Ping timeout: 272 seconds]
jonatack_ has joined #lisp
theothor` has joined #lisp
audioburn has quit [Ping timeout: 258 seconds]
Lord_of_Life_ has joined #lisp
aartaka has quit [Read error: Connection reset by peer]
theothor` has quit [Ping timeout: 240 seconds]
imode has quit [Ping timeout: 246 seconds]
Lord_of_Life has quit [Ping timeout: 272 seconds]
Lord_of_Life_ is now known as Lord_of_Life
theothor` has joined #lisp
theothor` has quit [Remote host closed the connection]
theothor` has joined #lisp
davd33 has joined #lisp
pfdietz has quit [Quit: Ping timeout (120 seconds)]
theothor` has quit [Ping timeout: 246 seconds]
jonatack_ has quit [Read error: Connection reset by peer]
aartaka has joined #lisp
theothor` has joined #lisp
theothor` has quit [Ping timeout: 264 seconds]
galex-713 has quit [Ping timeout: 272 seconds]
vegansbane6963 has quit [Quit: The Lounge - https://thelounge.chat]
galex-713 has joined #lisp
theothor` has joined #lisp
kini has quit [Remote host closed the connection]
kini has joined #lisp
theothor` has quit [Ping timeout: 246 seconds]
theothor` has joined #lisp
theothor` has quit [Remote host closed the connection]
theothor` has joined #lisp
hjudt has joined #lisp
theothor` has quit [Ping timeout: 240 seconds]
vegansbane6963 has joined #lisp
hendursa1 has joined #lisp
jeosol has quit [Quit: Connection closed]
jonatack_ has joined #lisp
hendursaga has quit [Ping timeout: 268 seconds]
heisig has joined #lisp
davd33 has quit [Ping timeout: 272 seconds]
<Posterdati> hi
toorevitimirp has quit [Remote host closed the connection]
<Posterdati> is it safe to use methods with structures?
toorevitimirp has joined #lisp
<Posterdati> :) please...
<jackdaniel> it is
<jackdaniel> if you mean: methods that specialize on a structure class
<Posterdati> yes
<ey[m]> What is the best way to check if quicklisp is available in an environment ?
<jackdaniel> maybe (find-package "QUICKLISP") ?
<Posterdati> jackdaniel: thanks
<jackdaniel> sure
<jackdaniel> you may even specialize methods on builtin classes (like float)
<ey[m]> jackdaniel: thanks
<jackdaniel> mind, that {short,single,double,long}-float /are not/ specified to be a builtin class, so if you do specialize a method on one of these the implementation may happily error for you (it probably won't though, because they are usefull not mandated builtin classes)
tassleoff_ has quit [Ping timeout: 240 seconds]
<Nilby> I used to think that not being able to specialize on something like (unsigned-byte 8) was terrible, but now I realize that the CL type system is TOO powerful, and the choices seem to be either dumb down the type system or slow down and confound CLOS with mostly pointless type matching backflips, so it's a reasonable compromise.
<Nilby> that said I think it might be reasonable to add a few more builtin types
hjudt has quit [Ping timeout: 240 seconds]
<jackdaniel> (defmethod foo ((elt (satisfies foo))) …)
ljavorsk has quit [Ping timeout: 240 seconds]
<Nilby> Usually I like limitless power, but I'm fine with not being able to do that.
scymtym_ has joined #lisp
sveit has quit [Quit: Bye]
simplegauss has quit [Quit: Bye]
scymtym has quit [Ping timeout: 264 seconds]
theothor` has joined #lisp
gxt has joined #lisp
jonatack_ has quit [Read error: Connection reset by peer]
jonatack_ has joined #lisp
theothor` has quit [Ping timeout: 272 seconds]
shidima has joined #lisp
<shidima> Is there a way to delete objects from my repl session?
sveit has joined #lisp
simplegauss has joined #lisp
<_death> my first thought was (progn (setf ** (setf *** (setf // (setf /// nil)))) (sb-ext:gc :full t)) but maybe you mean something else ;)
<jackdaniel> and slime-clear-all-presentations ,)
aindilis has quit [Ping timeout: 246 seconds]
Codaraxis_ has quit [Ping timeout: 264 seconds]
<heisig> My favorite way of deleting objects is (change-class object 'deleted-object), where deleted-object is (defclass deleted-object ()).
<heisig> It has the advantage that you can add 'finalizers' on update-instance-for-different-class :)
<flip214> heisig: +1
<flip214> the only problem is that security-sensitive slots in the old instance are not accessible anymore
<flip214> to overwrite them, for example
theothor` has joined #lisp
<jmercouris> happy Mollusk Monday!
<heisig> flip214: What is a security-sensitive slot?
<jackdaniel> (password :initform "very secret" :initarg :password :accessor %password #|accessor is obscured for security|#) ;-)
<jmercouris> maybe the whole point is that they are slots without accessors in their slot definition and have hand-implemented accessors
Codaraxis_ has joined #lisp
jonatack_ has quit [Read error: Connection reset by peer]
<_death> jackdaniel: I guess it should be (copy-seq "very secret").. then you (fill password #\*)
jonatack_ has joined #lisp
<_death> and how do functional languages handle this?
jonatack_ has quit [Read error: Connection reset by peer]
<jmercouris> what exactly? secrets?
jonatack_ has joined #lisp
<_death> zeroing secrets
<jmercouris> probably via IO I would guess
theothor` has quit [Ping timeout: 246 seconds]
<_death> not sure what you mean
<jmercouris> the secret should never live in the VM of a functional language
jonatack_ has quit [Read error: Connection reset by peer]
<jmercouris> I don't know how to express what I am thinking
<aeth> _death: remove all references to it and force a GC?
jonatack_ has joined #lisp
<jmercouris> I am kind of saying interact with it only via streams
<_death> aeth: that doesn't ensure that the object is collected, or that memory is zeroed
<heisig> The plan for SICL/CLOSOS is to use capabilities for such things. No capability for reading the password means you don't get to read the password.
<flip214> there might well be accessors, it's just that their content should be removed lexically and not stay around in the heap, surfacing on a core dump or dump
<aeth> _death: yeah, and it itself isn't a pure function
<heisig> Zeroing a password sounds like protecting yourself against out-of-bounds reads. And why would any sane programming language allow that?
jonatack_ has quit [Read error: Connection reset by peer]
<jmercouris> on the other hand, can we trust *any* memory?
<_death> heisig: maybe against interprocess reads
jonatack_ has joined #lisp
<jmercouris> we MUST have it in memory at some point to process it
<jmercouris> unless you can process it as a stream char by char
<aeth> heisig: Almost any non-trivial program to the point where you'd care about handling passwords is going to use CFFI, and the OS itself is basically one big CFFI.
ukari has quit [Ping timeout: 256 seconds]
<jmercouris> I think if your system is compromised by some malicious actor, you are already out of luck
jonatack_ has quit [Read error: Connection reset by peer]
<jmercouris> worrying about what exists in the stack is pointless
<heisig> aeth: 1. I am trolling. 2. The plan for SICL/CLOSOS is to have all software written in Common Lisp and to have a reasonably trustworthy compiler.
jonatack_ has joined #lisp
<flip214> heisig: I see it the same way as a lexical variable - that doesn't spill into outer scopes too, so why should my secret be visible more than necessary?
<jmercouris> I don't think you should worry about it
<flip214> heisig: even 2 is not enough - /proc/PID/mem or pulling the RAM might still leak secrets.
jonatack_ has quit [Client Quit]
<jmercouris> but that is just my 2 cents
jonatack has joined #lisp
<jmercouris> you know what else could leak secrets?
<jmercouris> being held hostage
<aeth> jmercouris: Well, some degree of redundancy has a point. It's called defense in depth. https://en.wikipedia.org/wiki/Defense_in_depth_(computing)
<jmercouris> but it is wholly unnecessary to protect yourself against all eventualities
<jmercouris> if someone can read the contents of ram, you are already fully compromised
<jmercouris> it doesn't matter how careful you are
<jmercouris> they could even alter the execution of your program to circumvent your guards
<heisig> flip214: If you write your entire system in Common Lisp (which is the highly ambitious plan), there will be no /proc/PID/mem.
<aeth> jmercouris: That requires them to alter the execution of your program, where we win via security by obscurity being #lisp
<Nilby> be the kernel and only have the secret in registers, or don't let the secrets leave your enclave hardware
<heisig> Freezing the RAM and pulling it out still works. But that is a much narrower attack vector.
<Nilby> oh and make your own chip that doesn't include spyware
<Nilby> like intel, amd and most arm
<_death> heisig: it still matters.. the existence of tools like PANDA make it clear :)
Codaraxis_ has quit [Remote host closed the connection]
Codaraxis_ has joined #lisp
<jmercouris> P A N D A
<_death> or rather, Volatility.. I always confuse the names
<jmercouris> V O L A T I L I T Y
<jmercouris> you know, ultimately at the end of the day, we are running on multi user/multi process systems
<jmercouris> there is no such thing as security in this case
<jmercouris> any compromised program can bring down the whole system
<_death> probably because I first encountered them in this post https://moyix.blogspot.com/2014/07/breaking-spotify-drm-with-panda.html
kini has quit [Remote host closed the connection]
kini has joined #lisp
<flip214> heisig: plan to have a MOVfuscator compiler plugin as well
<heisig> The computing system I really want (and for which I'm willing to work a few decades) runs only safe code (preferably CL) and free software (as in, the compiler maintains a bidirectional mapping between any piece of assembler and the corresponding source code).
<heisig> The main way of protecting myself from malicious code in such an environment would be to only run code from trusted parties. And if they try to fool me once, they are not a trusted party anymore.
theothor` has joined #lisp
<heisig> If everyone did that, we would have very few exploits. A developer would have to sacrifice his entire reputation to roll out an exploit, and they might still get caught by some review process.
hjudt has joined #lisp
<flip214> heisig: yeah, but as long as there are quite anonymous ways (github account is cheap) that won't really help
<flip214> you just need an AI to produce a few thousand good-looking commits against some repo to build a reputation
<Nilby> heisig: I agree, but sadly I don't trust firmware either
<heisig> I know, what I describe is essentially sci-fi. But if enough people work on it, we could reach that state eventually.
<_death> heisig: maybe my early background of reverse engineering is responsible, but it always seemed strange to me to talk about "source code" in relation to free software.. disassembling meant I could read, modify, and share the code, even if it's not the "source code".. and free software could be about permission to do just those things, without reference to a "source code"
theothor` has quit [Ping timeout: 256 seconds]
<_death> is DISASSEMBLE not enough? ;)
<heisig> Nilby: Neither do I. But we cannot stop fixing the world of software just because we haven't solved every other problem yet.
<Nilby> heisig: agree. I've been try for years to replace as much of my stack with CL as possible. I wonder how far I have left to go.
fubbiquantz has quit [Ping timeout: 272 seconds]
<Nilby> _death: I have a habit of code reviewing binaries, but it's harder, and i'm usually less condifdent
<_death> Nilby: for many years HIEW was my anti virus :)
<heisig> _death: The FSF defines source code as the 'preferred form for modification'. I hope assembler is not your preferred representation for modifying software :)
<_death> heisig: I understand.. it's mostly a tongue-in-cheek rant..
<Nilby> _death: nice. that thing is awesome
hjudt has quit [Ping timeout: 272 seconds]
Codaraxis_ has quit [Remote host closed the connection]
Codaraxis_ has joined #lisp
<lukego> I'm just having my first serious look at SCREAMER. It's pretty cool, right?
<_death> lukego: yeah.. I used it's in some solutions for aoc2020.. that also resulted in a patch or two
<Xach> oh no, someone created a project named "cloak" and it's unrelated to the JVM-in-CL project from 20 years ago
frodef`` has quit [Ping timeout: 240 seconds]
jerme_ has quit [Ping timeout: 240 seconds]
rme has quit [Ping timeout: 246 seconds]
ralt has quit [Ping timeout: 264 seconds]
billstclair has quit [Ping timeout: 264 seconds]
pent has quit [Ping timeout: 265 seconds]
stylewarning has quit [Ping timeout: 265 seconds]
sgithens has quit [Ping timeout: 265 seconds]
yonkunas has quit [Read error: Connection reset by peer]
grfn has quit [Read error: Connection reset by peer]
lukego has quit [Read error: Connection reset by peer]
dnm has quit [Read error: Connection reset by peer]
jlpeters has quit [Read error: Connection reset by peer]
mjl has quit [Read error: Connection reset by peer]
mpontillo has quit [Read error: Connection reset by peer]
avicenna has quit [Read error: Connection reset by peer]
banjiewen__ has quit [Read error: Connection reset by peer]
chewbranca has quit [Read error: Connection reset by peer]
drmeister has quit [Read error: Connection reset by peer]
p_l has quit [Read error: Connection reset by peer]
selwyn has quit [Write error: Connection reset by peer]
alanz has quit [Write error: Connection reset by peer]
bitmapper has quit [Read error: Connection reset by peer]
gjnoonan has quit [Read error: Connection reset by peer]
gendl has quit [Write error: Connection reset by peer]
sz0 has quit [Read error: Connection reset by peer]
mgsk has quit [Read error: Connection reset by peer]
theruran has quit [Read error: Connection reset by peer]
entel has quit [Read error: Connection reset by peer]
avicenna has joined #lisp
jlpeters has joined #lisp
billstclair has joined #lisp
jmercouris has quit [Ping timeout: 265 seconds]
sz0 has joined #lisp
grfn has joined #lisp
yonkunas has joined #lisp
lukego has joined #lisp
Codaraxis_ has quit [Remote host closed the connection]
dnm has joined #lisp
rme has joined #lisp
p_l has joined #lisp
<Nilby> it's a shame because it's a clever name, since java was oringally called oak
Codaraxis_ has joined #lisp
stylewarning has joined #lisp
aartaka has quit [Ping timeout: 264 seconds]
akkad has quit [Ping timeout: 264 seconds]
theothor` has joined #lisp
mjl has joined #lisp
jerme_ has joined #lisp
alanz has joined #lisp
mgsk has joined #lisp
gjnoonan has joined #lisp
entel has joined #lisp
theruran has joined #lisp
akkad has joined #lisp
sgithens has joined #lisp
pent has joined #lisp
banjiewen__ has joined #lisp
bitmapper has joined #lisp
chewbranca has joined #lisp
drmeister has joined #lisp
ralt has joined #lisp
theothor` has quit [Ping timeout: 240 seconds]
cosimone has joined #lisp
jmercouris has joined #lisp
mpontillo has joined #lisp
selwyn has joined #lisp
gendl has joined #lisp
hjudt has joined #lisp
caret has joined #lisp
theothor` has joined #lisp
Bike has joined #lisp
theothor` has quit [Ping timeout: 260 seconds]
kopiyka has joined #lisp
Codaraxis_ has quit [Ping timeout: 246 seconds]
Cymew has quit [Ping timeout: 272 seconds]
Anonymous_ has quit [Remote host closed the connection]
theothornhill has quit [Ping timeout: 265 seconds]
Codaraxis_ has joined #lisp
Cymew has joined #lisp
Codaraxis_ has quit [Remote host closed the connection]
theothor` has joined #lisp
SamAsk has joined #lisp
kini has quit [Remote host closed the connection]
Codaraxis_ has joined #lisp
theothor` has quit [Ping timeout: 272 seconds]
kini has joined #lisp
Codaraxis_ has quit [Remote host closed the connection]
Codaraxis_ has joined #lisp
wsinatra has joined #lisp
pfdietz has joined #lisp
theothor` has joined #lisp
paulj has quit [Quit: Asta la vista]
jonatack_ has joined #lisp
rogersm has joined #lisp
nij has joined #lisp
theothor` has quit [Remote host closed the connection]
theothor` has joined #lisp
<Cthulhux> more like "urgh"
<nij> Hi, is there lisp packages that take screencasts? I'm currently using ffmpeg but would like to get rid of bashism :P
long4mud has quit [Quit: WeeChat 3.0]
louis771 has joined #lisp
<rogersm> Is there any way to return-form from a lambda without using block?
<minion> rogersm, memo from phoe: there is a little bit of inspector usage in https://www.youtube.com/watch?v=pkqQq2Hwt5o
<minion> rogersm, memo from beach: I recommend you use Clouseau instead. It is way more competent than the SLIME inspector.
jonatack has quit [Ping timeout: 264 seconds]
<beach> rogersm: No, there is no such way. And there is no such thing as "a lambda" in Common Lisp. There is the concept of a "lambda expression" which is just data, and there is a concept of a "function", whether created directly using the LAMBDA operator or some other operator.
<rogersm> thanks
ljavorsk has joined #lisp
<beach> Pleasure.
<nij> So there's no way to get a lambda expression from a function, in general?
<nij> (I asked this a while ago but didn't understand.)
<beach> clhs function-lambda-expression
theothor` has quit [Ping timeout: 258 seconds]
<beach> nij: But it is allowed to return NIL.
<Bike> the implementation isn't required to keep source forms around
<beach> nij: If that weren't the case, there would be no conforming commercial Common Lisp implementations.
<nij> Hmm.. so after compiling a lambda expression to a function, I cannot expect the function "remembers" the lambda expression?
jonatack_ has quit [Ping timeout: 256 seconds]
<beach> nij: Plus, not every function can be expressed as a lambda expression only.
<Bike> correct
louis771 has quit [Ping timeout: 265 seconds]
<nij> beach: Like which function cannot?!
<_death> nij: you could do it yourself.. see pjb's ibcl for example
<nij> Bike: then the question is.. how do I compile so that the result function remembers?
<beach> nij: A function can close over any number of variables that are not part of the function itself.
<flip214> isn't the source form required if the function is declared INLINE?
<Bike> can't
<Bike> flip214: there is no requirement for the implementation to do any inlining ever
<nij> beach: close?
<Bike> like a closure
<beach> nij: (let ((x 234)) (lambda (y) (+ x y)))
<Nilby> but in practice, you can get the lambda list
<flip214> just have ASDF include all the source files in the image as well
ecm1 has joined #lisp
<beach> nij: The function defined by the lambda expression "closes over" the variable X.
<beach> nij: It's a standard concept in programming languages.
<flip214> nij: "Let over Lambda" explores that concept in depth.
<nij> Oh so this is an example of a function that's not a (pure) lambda.
<beach> nij: There is no such thing as "a [pure] lambda".
<nij> Rephrase: Oh so this is an example of a function that's not defined by a pure lambda expression.
<beach> You can say that. But it's known as "a closure".
<nij> Then is there anyway to turn any compiled function into this form?
<Bike> into what form?
<nij> closure form
<nij> (let ((..)) (lambda ..))
<Bike> well the thing is closures aren't necessarily independent
<beach> nij: The LET is not part of the function.
<Bike> if you have (let (x) (lambda () x) (lambda (y) (setf x y))), those closures refer to the _same_ binding
<Bike> if you used this thing and got them back as (let (x) (lambda () x)) and (let (x) (lambda (y) (setf x y))) those would be different
<beach> nij: Surely, you have encountered closures in your previous programming career, no?
<nij> beach: I think I understand what a closure is. Not trained formally thought.
<nij> s/thought/though/
<beach> nij: As I recall, you have said that you used several different languages in the past, no? Maybe none of them allowed for closures?
<nij> Yeah I've used superficially. Lemme think..
<beach> I mean, even Pascal had (has?) closures, though not first class, as I recall.
<_death> nij: you mentioned currying the other day..
<nij> _death: yeah.
<nij> see, I'm not formally trained, so I while I have my mental images of what they are, I cannot be sure if I understand 100% as all others do.
theothor` has joined #lisp
<varjag> "WARNING: /opt/homebrew/bin/ecl is loading libcrypto in an unsafe way", and an abort
<mfiano> Read Let Over Lambda for a mind explosion, though please don't carry over that coding style to production code :)
<varjag> when trying to compile cl+ssl on the latest ecl/big sur
<varjag> anyone seen that?
<nij> mfiano: I plan to read it soon once I finish writing my personal scripts.
<nij> It seems fun :)
<nij> But why shouldn't I carry over that style?
<mfiano> He does not use conventions in so many ways, and makes heavy use of anaphors.
<mfiano> Conventions are important to follow
jonatack has joined #lisp
<nij> ooops :-( I'm afraid I'm not capable of distinguish which is convention and which isn't..
<mfiano> THe book should be read as "hey look what you can do with macros", not "this is how you should use macros"
<_death> maybe there should be something like Graham Crackers for other Lisp books
<nij> _death: haha what would such books be about?
theothor` has quit [Ping timeout: 256 seconds]
ecm1 has quit [Quit: WeeChat 3.0]
<nij> OH nice! Thanks for sharing.
<mfiano> Speaking of conventions, what other "style guides" are there besides the LUV and Google style guides? I would think the former is not as visible as the latter, and they conflict each other in so many ways.
<_death> the latter is much more controversial
<mfiano> It seems they recommend an arbitrary 100 column maximum.
<nij> mfiano: what is LUV?
<mfiano> First thing I saw at a quick glance after several years since reading it, that is most definitely different
theothor` has joined #lisp
<mfiano> Lisp Users and Vendors Conference slides from Kent Pitman and Peter Norvig
<phoe> 30
<phoe> oops
random-nick has joined #lisp
<varjag> ok looks like unversioned dylib loading issue on newer osxes
theothor` has quit [Ping timeout: 256 seconds]
theothor` has joined #lisp
theothornhill has joined #lisp
pfdietz has quit [Quit: Ping timeout (120 seconds)]
gxt has quit [Remote host closed the connection]
gxt has joined #lisp
theothornhill has quit [Ping timeout: 264 seconds]
theothor` has quit [Remote host closed the connection]
theothor` has joined #lisp
theothor` has quit [Ping timeout: 260 seconds]
zeroish- has joined #lisp
zeroish- has left #lisp [#lisp]
wsinatra has quit [Ping timeout: 264 seconds]
toorevitimirp has quit [Remote host closed the connection]
waleee-cl has joined #lisp
iskander has joined #lisp
<varjag> phoe: that did the trick!
mrchampion has quit [Ping timeout: 264 seconds]
iskander- has quit [Ping timeout: 246 seconds]
nij has left #lisp ["ERC (IRC client for Emacs 27.1)"]
gioyik has joined #lisp
theothor` has joined #lisp
davd33 has joined #lisp
frodef`` has joined #lisp
pfdietz has joined #lisp
mrchampion has joined #lisp
theothor` has quit [Ping timeout: 240 seconds]
gxt has quit [Remote host closed the connection]
wsinatra has joined #lisp
<beach> flip214: It would be unwise for inlining to use the original S-expression. There would be all kinds of issues like variable capture, multiple macro expansions, etc.
<flip214> beach: yes, of course. I thought the questions was for documentation/reference purposes.
<beach> I see.
<flip214> thanks for the heads-up, anyway!
<flip214> you're a delight to have around.
<beach> Oh, thanks! *blush*
nij has joined #lisp
skapata has joined #lisp
<nij> I have liberate some of my recording shell scripts into their Lisp form (https://bpa.st/RLAVO).. But it's still pretty shelly :-( Accepting any suggestion!
<beach> nij: Maybe it's time for some formal training then. Perhaps read a book such as "Programming Language Concepts" by Peter Sestoft.
<nij> seems like a great book :D
Anonymous_ has joined #lisp
<Nilby> nij: You could try using this, https://github.com/zkat/cl-ffmpeg and maybe bring it up to date if it doesn't work.
<beach> nij: I read that as "thank you, but no thank you".
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
rogersm has quit [Quit: Leaving...]
<nij> beach: not really
amb007 has quit [Read error: Connection reset by peer]
<nij> many things to read, and I have added that to my lib
amb007 has joined #lisp
<nij> one day i'll might it ;)
<beach> OK.
Josh_2 has joined #lisp
pfdietz has quit [Ping timeout: 240 seconds]
dbotton has joined #lisp
<phoe> ProgAlgs is live on HN, https://news.ycombinator.com/item?id=26066340
scymtym_ has quit [Remote host closed the connection]
scymtym has joined #lisp
ljavorsk has quit [Ping timeout: 258 seconds]
caret_ has joined #lisp
caret has quit [Disconnected by services]
caret_ is now known as caret
caret has quit [Remote host closed the connection]
caret has joined #lisp
imode has joined #lisp
kini has quit [Remote host closed the connection]
kini has joined #lisp
Cymew has quit [Ping timeout: 272 seconds]
amk has quit [Remote host closed the connection]
dbotton has quit [Quit: This computer has gone to sleep]
amk has joined #lisp
nij has left #lisp ["ERC (IRC client for Emacs 27.1)"]
cage_ has joined #lisp
jonatack has quit [Read error: Connection reset by peer]
jonatack_ has joined #lisp
wsinatra has quit [Ping timeout: 240 seconds]
mister_m has joined #lisp
Blukunfando has joined #lisp
dbotton has joined #lisp
wsinatra has joined #lisp
varjag has quit [Quit: ERC (IRC client for Emacs 27.1)]
pankajsg has quit [Ping timeout: 240 seconds]
wsinatra has quit [Ping timeout: 264 seconds]
Major_Biscuit has quit [Ping timeout: 272 seconds]
OlCe has joined #lisp
jonatack_ has quit [Read error: Connection reset by peer]
jonatack_ has joined #lisp
jonatack_ has quit [Client Quit]
jonatack has joined #lisp
SamAsk has quit [Ping timeout: 272 seconds]
SamAsk has joined #lisp
hiroaki has joined #lisp
notzmv has quit [Read error: Connection reset by peer]
zaquest has quit [Remote host closed the connection]
zaquest has joined #lisp
theothor` has joined #lisp
audioburn has joined #lisp
SamAsk has quit [Remote host closed the connection]
dbotton has quit [Quit: This computer has gone to sleep]
amb007 has quit [Read error: Connection reset by peer]
theothor` has quit [Ping timeout: 246 seconds]
amb007 has joined #lisp
SamAsk has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
recalloc has joined #lisp
dbotton has joined #lisp
notzmv has joined #lisp
louis771 has joined #lisp
Josh_2 has quit [Remote host closed the connection]
Josh_2 has joined #lisp
zaquest has quit [Ping timeout: 260 seconds]
surabax has quit [Remote host closed the connection]
surabax has joined #lisp
theothor` has joined #lisp
louis771 has quit [Ping timeout: 264 seconds]
gtc has joined #lisp
Josh_2 has quit [Ping timeout: 256 seconds]
X-Scale` has joined #lisp
surabax has quit [Quit: Leaving]
karlosz has joined #lisp
X-Scale has quit [Ping timeout: 256 seconds]
X-Scale` is now known as X-Scale
audioburn has quit [Ping timeout: 246 seconds]
theruran has quit [Ping timeout: 240 seconds]
selwyn has quit [Read error: Connection reset by peer]
rme has quit [Read error: Connection reset by peer]
mpontillo has quit [Read error: Connection reset by peer]
rme has joined #lisp
mpontillo has joined #lisp
jmercouris has quit [Read error: Connection reset by peer]
selwyn has joined #lisp
jmercouris has joined #lisp
theruran has joined #lisp
<Nilby> nij: even with my very lispamatizing setup, the issue is trouble is still ffmpeg https://plaster.tymoon.eu/view/2285#2285
hjudt has quit [Ping timeout: 265 seconds]
zaquest has joined #lisp
jeosol has joined #lisp
SamAsk has quit [Ping timeout: 246 seconds]
SamAsk has joined #lisp
karlosz has quit [Quit: karlosz]
karlosz has joined #lisp
theothornhill has joined #lisp
enzuru has joined #lisp
SamAsk has quit [Remote host closed the connection]
varjag has joined #lisp
<varjag> did roswell get a hard dependency on libcurl3 with the last release?
<varjag> suddenly my ci pipeline's crashing
theothornhill has quit [Ping timeout: 265 seconds]
theothor` has quit [Ping timeout: 256 seconds]
heisig has quit [Quit: Leaving]
<varjag> oh yes it did
louis771 has joined #lisp
louis771 has quit [Ping timeout: 264 seconds]
anticrisis has joined #lisp
theothor` has joined #lisp
Lycurgus has joined #lisp
theothor` has quit [Ping timeout: 264 seconds]
rixard has joined #lisp
rixard_ has quit [Read error: Connection reset by peer]
nij has joined #lisp
<nij> I have a function that makes sound indefinitely. Without changing its "internal", how can I let it stop after 3 seconds? https://bpa.st/N2JQ
kam1 has joined #lisp
<nij> Hoping for things like: (terminate-in 3 (loop [..])) that runs the loop, and kills it after 3 seconds.
theothor` has joined #lisp
kam1 has quit [Read error: Connection reset by peer]
theothor` has quit [Ping timeout: 272 seconds]
<_death> if you have a loop, you can do it there.. but for a less graceful way there's timers (see sbcl manual).. also I think there's a trivial-timers library though I've not used it
flazh has quit [Read error: Connection reset by peer]
<nij> yep i'm planning to use a timer to kill a running loop
<nij> but how can i identify the loop?
davd33 has quit [Ping timeout: 272 seconds]
flazh has joined #lisp
<_death> what do you mean identify the loop?.. in your loop you could test for a flag
<nij> That's the trickier part.. I don't want to modify the loop internally.
davd33 has joined #lisp
<Nilby> if you're doing things at the same time, you're either using threads or processes, so you have ether a thread or a process id
<nij> Maybe there should be something like:
<nij> (run-with-id (make-id (loop [..]) :id 1234))
<nij> (kill-id :id 1234)
<nij> OH!
noa has joined #lisp
<Nilby> or if you're in a single thread you can just check get-univeral-time
<nij> I will also check it. Thank you :)
<recalloc> It seems if I leave a lispcord bot running overnight, I get a memory fault
theothor` has joined #lisp
nij has quit [Remote host closed the connection]
Christ0pher has joined #lisp
theothor` has quit [Ping timeout: 246 seconds]
shka_ has quit [Ping timeout: 272 seconds]
aeth_ has joined #lisp
aeth has quit [Disconnected by services]
aeth_ is now known as aeth
Christ0pher is now known as anunnaki
logand has joined #lisp
gtc has quit [Quit: Leaving]
Lycurgus has quit [Quit: Exeunt]
aeth_ has joined #lisp
aeth has quit [Disconnected by services]
aeth_ is now known as aeth
theothor` has joined #lisp
theothor` has quit [Ping timeout: 240 seconds]
skapata has quit [Remote host closed the connection]
theothor` has joined #lisp
theothor` has quit [Ping timeout: 240 seconds]
contrapunctus has left #lisp ["Disconnected: Replaced by new connection"]
contrapunctus has joined #lisp
Black-Wolf has joined #lisp
cage_ has quit [Quit: Leaving]
rogersm has joined #lisp
jonatack has quit [Ping timeout: 240 seconds]
theothor` has joined #lisp
HDurer has quit [Ping timeout: 260 seconds]
hiroaki has quit [Ping timeout: 272 seconds]
caret has quit [Read error: Connection reset by peer]
theothor` has quit [Ping timeout: 264 seconds]
jonatack has joined #lisp
hendursaga has joined #lisp
sunwukong has joined #lisp
hendursa1 has quit [Ping timeout: 268 seconds]
hdasch has quit [Quit: ZNC 1.7.2+deb3~bpo9+1 - https://znc.in]
hdasch has joined #lisp
aeth has quit [Ping timeout: 256 seconds]
theothor` has joined #lisp
aeth has joined #lisp
theothor` has quit [Ping timeout: 272 seconds]
Krystof has joined #lisp
theothor` has joined #lisp
theothor` has quit [Ping timeout: 256 seconds]
dbotton has quit [Quit: Leaving]
narimiran has quit [Ping timeout: 256 seconds]
theothor` has joined #lisp
ljavorsk has joined #lisp
nij has joined #lisp
theothor` has quit [Ping timeout: 246 seconds]
loli has quit [Quit: WeeChat 3.0]
shidima has quit [Ping timeout: 265 seconds]
loli has joined #lisp
ljavorsk has quit [Ping timeout: 240 seconds]
theothor` has joined #lisp
rogersm has quit [Remote host closed the connection]
theothor` has quit [Ping timeout: 240 seconds]
gaqwas has quit [Ping timeout: 240 seconds]
jeosol has quit [Quit: Connection closed]
louis771 has joined #lisp
<nij> Woah! There's a lispy cron "mcron" written in Guile. Is there anything close written in common lisp?
<nij> The closest I found is clerk.. which doesn't run as a daemon: https://github.com/tsikov/clerk
theothor` has joined #lisp
anticrisis_ has joined #lisp
theothor` has quit [Ping timeout: 256 seconds]
anticrisis has quit [Ping timeout: 256 seconds]
davd33 has quit [Remote host closed the connection]
pillton has joined #lisp
Black-Wolf has quit [Quit: Leaving]
theothor` has joined #lisp
Nilby has quit [Ping timeout: 264 seconds]
theothor` has quit [Ping timeout: 272 seconds]
jeosol has joined #lisp
theothor` has joined #lisp
nij has quit [Remote host closed the connection]
zacts has joined #lisp
theothor` has quit [Ping timeout: 264 seconds]
recalloc has quit [Ping timeout: 264 seconds]
recalloc has joined #lisp
cosimone has quit [Quit: cosimone]
random-nick has quit [Ping timeout: 264 seconds]
igemnace has joined #lisp
stylewarning has quit [Ping timeout: 240 seconds]
orivej has quit [Ping timeout: 265 seconds]
grfn has quit [Read error: Connection reset by peer]
p_l has quit [Read error: Connection reset by peer]
grfn has joined #lisp
p_l has joined #lisp
stylewarning has joined #lisp
galex-713 has quit [Ping timeout: 260 seconds]
galex-713 has joined #lisp
theothor` has joined #lisp
zacts has quit [Quit: leaving]
aindilis has joined #lisp
<recalloc> I made a dependency tree to help me figure out where in my dependencies my memory leak should be, but TBH it probably made me more confused than before
zacts has joined #lisp
theothor` has quit [Ping timeout: 240 seconds]
Mandus has quit [Ping timeout: 240 seconds]
attila_lendvai_ has joined #lisp
<_death> so is it a memory fault or a memory leak
attila_lendvai has quit [Read error: Connection reset by peer]
varjag has quit [Quit: ERC (IRC client for Emacs 28.0.50)]
rgherdt has quit [Ping timeout: 246 seconds]
ukari has joined #lisp
theothor` has joined #lisp
aindilis has quit [Ping timeout: 240 seconds]
akoana has joined #lisp
aindilis has joined #lisp
theothor` has quit [Ping timeout: 272 seconds]
louis771 has quit [Quit: My M1 has gone to sleep. ZZZzzz…]
sunwukong has quit [Ping timeout: 246 seconds]
p_l has quit []
p_l has joined #lisp
nzt48 has joined #lisp
skapata has joined #lisp
Mandus has joined #lisp
pankajsg has joined #lisp
theothor` has joined #lisp
gzj has joined #lisp
theothor` has quit [Ping timeout: 246 seconds]
<jasom> Is there a library for comparing hash-tables by value?
pve has quit [Quit: leaving]
<_death> library, or a function similar to equalp?
<jasom> _death: can't use equalp because I care about string-cases