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/>
Lord_of_Life has quit [Ping timeout: 240 seconds]
Lord_of_Life has joined #commonlisp
skin has joined #commonlisp
monoidog has quit [Ping timeout: 248 seconds]
cmack has joined #commonlisp
occ has joined #commonlisp
NicknameJohn has quit [Ping timeout: 246 seconds]
eddof13 has joined #commonlisp
Noisytoot has quit [Quit: ZNC 1.8.2 - https://znc.in]
Noisytoot has joined #commonlisp
akoana has joined #commonlisp
eddof13 has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
pieguy128 has quit [Quit: ZNC 1.8.2 - https://znc.in]
pieguy128 has joined #commonlisp
Noisytoot has quit [Ping timeout: 240 seconds]
eddof13 has joined #commonlisp
Noisytoot has joined #commonlisp
occ has quit [Ping timeout: 255 seconds]
jon_atack has joined #commonlisp
jonatack has quit [Ping timeout: 248 seconds]
occ has joined #commonlisp
waleee has quit [Ping timeout: 264 seconds]
ebrasca has quit [Remote host closed the connection]
_dcb_ is now known as dcb
d4ryus has quit [Ping timeout: 264 seconds]
d4ryus has joined #commonlisp
akoana has quit [Ping timeout: 240 seconds]
tasty has quit [Remote host closed the connection]
keinbock has quit [Ping timeout: 255 seconds]
tasty has joined #commonlisp
tasty has quit [Changing host]
tasty has joined #commonlisp
keinbock has joined #commonlisp
scymtym has quit [Ping timeout: 256 seconds]
scymtym has joined #commonlisp
triffid has quit [Ping timeout: 255 seconds]
triffid has joined #commonlisp
dasyatidprime has quit [Quit: leaving]
dcb has quit [Quit: MSN Messenger v2.16.1]
msavoritias has quit [K-Lined]
eddof13 has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
dasyatidprime has joined #commonlisp
Everything has joined #commonlisp
rgherdt has joined #commonlisp
shka has joined #commonlisp
kenran has joined #commonlisp
_cymew_ has joined #commonlisp
_cymew_ has quit [Ping timeout: 246 seconds]
_cymew_ has joined #commonlisp
NicknameJohn has joined #commonlisp
jonatack1 has joined #commonlisp
jon_atack has quit [Ping timeout: 240 seconds]
NicknameJohn has quit [Ping timeout: 240 seconds]
scymtym has quit [Ping timeout: 255 seconds]
Brucio-61 has quit [Ping timeout: 260 seconds]
jonatack2 has joined #commonlisp
jonatack1 has quit [Read error: Connection reset by peer]
jonatack3 has joined #commonlisp
jonatack2 has quit [Ping timeout: 255 seconds]
pve has joined #commonlisp
czy has quit [Remote host closed the connection]
czy has joined #commonlisp
occ has quit [Ping timeout: 240 seconds]
occ has joined #commonlisp
jonatack has joined #commonlisp
jonatack3 has quit [Ping timeout: 252 seconds]
jathd has joined #commonlisp
igemnace has joined #commonlisp
euandreh has quit [Ping timeout: 276 seconds]
jon_atack has joined #commonlisp
jonatack has quit [Ping timeout: 265 seconds]
Brucio-61 has joined #commonlisp
Cymew has joined #commonlisp
chrcav has quit [Ping timeout: 248 seconds]
<jackdaniel> it seems that the weather in the amsterdam will be so-so during ELS
chrcav has joined #commonlisp
Devon has quit [Ping timeout: 264 seconds]
<Equill> Yeah, but then you get King's Day, if you stick around. If you're OK with crowds, that should brighten your mood.
<Equill> Also, that's just Amsterdam weather - it's one of the reasons I moved three countries south :)
Devon has joined #commonlisp
NicknameJohn has joined #commonlisp
mgl has joined #commonlisp
makomo has quit [Quit: WeeChat 3.6]
makomo has joined #commonlisp
lucasta has quit [Remote host closed the connection]
attila_lendvai has joined #commonlisp
morganw has joined #commonlisp
akoana has joined #commonlisp
akoana has quit [Quit: leaving]
occ has quit [Ping timeout: 248 seconds]
msavoritias has joined #commonlisp
euandreh has joined #commonlisp
occ has joined #commonlisp
skin has quit [Ping timeout: 250 seconds]
karlosz has quit [Ping timeout: 248 seconds]
karlosz has joined #commonlisp
dasyatidprime has quit [Quit: leaving]
occ has quit [Ping timeout: 240 seconds]
bjorkint0sh has joined #commonlisp
bjorkintosh has quit [Ping timeout: 260 seconds]
Devon has quit [Ping timeout: 240 seconds]
Gleefre has quit [Remote host closed the connection]
random-nick has joined #commonlisp
Brucio-61 has quit [Ping timeout: 260 seconds]
karlosz has quit [Quit: karlosz]
Brucio-61 has joined #commonlisp
scymtym has joined #commonlisp
Brucio-61 has quit [Ping timeout: 260 seconds]
Brucio-61 has joined #commonlisp
random-nick has quit [Ping timeout: 240 seconds]
jonatack1 has joined #commonlisp
jon_atack has quit [Ping timeout: 246 seconds]
<splittist> Not looking too bad today (approaching from Rotterdam).
<Equill> Excellent! Then again, that city always looks beautiful regardless of the weather.
mooseball has joined #commonlisp
aadcg has joined #commonlisp
<aadcg> how do I programatically define variables (via defvar) given a list of strings/symbols?
mariari has quit [Remote host closed the connection]
mariari has joined #commonlisp
<Equill> aadcg: depends on what form the list takes. If it's an alist, it's pretty easy; something more like a plist probably wants something recursive. But why defvar in particular, and not let?
<lieven> either with a macro or with progv but it's a weird use case
<Equill> Yeah, I was thinking a macro to generate the `let` form.
<gilberth> PROGV doesn't define variables, it merely binds the symbols given.
<Equill> So it does. I forgot it was even there.
<gilberth> PROGV is quite handy when you need something thread local. You could back a slot by a gensym that you then can bind dynamically using PROGV. Unless you use SBCL which doesn't reclaim that kind of TLS.
jonatack2 has joined #commonlisp
<aadcg> Thanks for the answers, you've helped already.
jonatack1 has quit [Ping timeout: 240 seconds]
<beach> aadcg: Are you sure you want to do that at all, rather than using some kind of container for your data?
Everything has quit [Quit: leaving]
Gleefre has joined #commonlisp
jonatack3 has joined #commonlisp
jonatack2 has quit [Ping timeout: 264 seconds]
random-jellyfish has joined #commonlisp
random-jellyfish has quit [Client Quit]
Gleefre has quit [Remote host closed the connection]
attila_lendvai has quit [Ping timeout: 256 seconds]
Gleefre has joined #commonlisp
mariari has quit [Ping timeout: 250 seconds]
kenran has quit [Remote host closed the connection]
glaucon has joined #commonlisp
mariari has joined #commonlisp
NotThatRPG has joined #commonlisp
Cymew has quit [Ping timeout: 260 seconds]
easye has quit [Ping timeout: 248 seconds]
Devon has joined #commonlisp
kevingal has joined #commonlisp
easye has joined #commonlisp
NotThatRPG has quit [Ping timeout: 260 seconds]
tyson2 has joined #commonlisp
mariari has quit [Ping timeout: 260 seconds]
mariari has joined #commonlisp
glaucon has quit [Quit: Leaving.]
mgl has quit [Quit: Client closed]
glaucon has joined #commonlisp
Equill has quit [Ping timeout: 255 seconds]
cage has joined #commonlisp
mariari has quit [Ping timeout: 240 seconds]
Equill has joined #commonlisp
glaucon has quit [Quit: Leaving.]
skin has joined #commonlisp
mariari has joined #commonlisp
johnjaye has quit [Quit: WeeChat 4.0.0-dev]
johnjaye has joined #commonlisp
random-nick has joined #commonlisp
Gleefre has quit [Remote host closed the connection]
uddipiggu has quit [Quit: Leaving]
aadcg has quit [Ping timeout: 276 seconds]
soundmodel has joined #commonlisp
<soundmodel> why isn't common lisp as fast as C/C++ or faster
<soundmodel> I thought a list processing language should be much easier to compile than imperative or OO
<beach> soundmodel: First of all, speed is a characteristic of an implementation and not of a language.
hrberg has joined #commonlisp
<phoe> (and contemporary C++ compilers have had some orders of magnitude more time poured into them than Lisp ones)
<phoe> (when counting man-hours and all that)
<beach> soundmodel: But, Common Lisp is a dynamically typed language which makes it much harder to write a compiler that generates fast code than it is for a statically typed language.
<msavoritias> yep. i mean js is somehow fast
<beach> soundmodel: Now, having said that, I must point out that it is impossible to write a C++ program that is both modular and fast. And that is because of the lack of automatic memory management.
<beach> soundmodel: C++ may be faster for small benchmarks, but that's pointless. What counts is the performance of real applications.
<random-nick> c++11 does have reference counter pointers iirc
<beach> And those are way slower than a tracing garbage collector.
mooseball has quit [Quit: Leaving]
<beach> Using reference counters is one of the tricks to obtain modularity, but then you lose your performance.
<beach> Systematically copying objects is another, with the same result.
<johnjaye> i mean the java runtime has had countless man hours pumped into it
<johnjaye> that by itself makes it faster than it was
<johnjaye> so many have been sacrificed... our fallen brothers on the fields of java
<beach> Java is also statically typed, which makes it easier to write a compiler that generates fast code.
<beach> soundmodel: Does that answer your question?
NicknameJohn has quit [Ping timeout: 276 seconds]
Gleefre has joined #commonlisp
mgl has joined #commonlisp
lucasta has joined #commonlisp
skin has quit [Ping timeout: 240 seconds]
<soundmodel> no, because I think a LISP should be <= in speed compared to an OO or an imperative state machine
<soundmodel> because it should essentially go through the same transitions, but should have better information available about the lifetimes of things
<soundmodel> so I believed that a Lisp should be able to do a "best possible manual memory management" even if it was automatic
<soundmodel> because dueto f1(f2(f3(...))) it must have perfect information about scope
<soundmodel> while the GC is just a necessity in order to enforce those states as pure
mariari has quit [Ping timeout: 265 seconds]
<phoe> what is the scope of the value produced by (list 1 2 3)?
<phoe> like, assume you typed that in the REPL
mariari has joined #commonlisp
<soundmodel> https://www.iaeng.org/IJCS/issues_v32/issue_4/IJCS_32_4_19.pdf this suggests that indeed LISP should be <= the speed of C
<soundmodel> depending on particular optimizations
<soundmodel> in particular it's not 2x slower like it's usually written to the web
dcb has joined #commonlisp
azimut has quit [Ping timeout: 255 seconds]
<johnjaye> "bypass all safety checks in order to get optimum performance"
monoidog has joined #commonlisp
<soundmodel> my question is more about that on a syntactical level it should be far easier to parse Lisp than C
<soundmodel> because with Lisp one is guaranteed the order of things
<soundmodel> no dangling pointers etc.
<soundmodel> or variables that are not used or that are visible to scopes where they're redundant
<pkal> soundmodel: Until you introduce reader macros.
<soundmodel> isn't that like preprocessor?
<soundmodel> sorry I haven't written any CL yet
<johnjaye> fortunately we have the common lisp cookbook. you can get into the metaphorical kitchen and whip up some tasty lisp stew right away
<pkal> soundmodel: not quite, because in C the preprocessor is a seperate and restricted language while reader macros allow extending the Lisp parser using Lisp.
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
<soundmodel> but one does not have to use that
<soundmodel> I still mean that on the very basic leverl f1(f2(f3(...))) should be the fastest way to transform a program to a program counter architecture
<gilberth> As mentioned earlier, due to the lack of GC a C++ program will resort to either copying or reference counting. And it certainly also cannot compact memory. I would expect that this makes a difference for larger programs that do more than merely crunching numbers. I would very much expect that a Lisp program fares better when it comes to consing and pointer chasing.
<soundmodel> and that it should be possible to write the same in C, but the C compiler does not force the program to be structured that way
terrorjack has joined #commonlisp
<soundmodel> rather one can e.g. declare all variables before they're used
jeosol has quit [Quit: Client closed]
<phoe> it doesn't matter
<soundmodel> gilberth You mean a Lisp cannot know exactly when a thing isn't used anymore?
<soundmodel> even if it's supposed to be precisely scoped?
<phoe> soundmodel: how is (list 1 2 3) scoped? (as I asked above)
<gilberth> soundmodel: For that you would need to solve the halting problem. Good luck!
<phoe> CL can and does know when a certain class of things is not used, see
<phoe> clhs dynamic-extent
<ixelp> CLHS: Declaration DYNAMIC-EXTENT
<soundmodel> phoe it's a scope with the list function and variables 1 2 3
<phoe> no, I meant the value produced by (list 1 2 3)
<phoe> ...
<soundmodel> and we should know that 1 2 3 are "local"
<phoe> "variables 1 2 3"?
<phoe> golly do you even know the basics of what you are talking about
<gilberth> phoe: Which is like saying (SAEFTY 0). I don't like it.
<phoe> gilberth: neither do I, it's a good way to introduce UB into code
<phoe> ;; on sbcl, see (print (restart-bind ((fireworks (lambda () 'fireworks))) (first (compute-restarts)))) for a good example of this
<soundmodel> but I mean because there isn't supposed to be pass by reference or that sorts in Lisp
<phoe> you certainly do not know what you are talking about
<phoe> have you tried #clschool?
<phoe> CL is all pass-by-value, except the values passed around are (copiable) references
<phoe> some small objects can be passed by copy but they're immutable so you can't perceive this
<soundmodel> isn't modifying references a side effect?
<phoe> sure it is
<phoe> but you cannot modify the integer 42
<phoe> ;; also, what's wrong with side effects? we're in CL
<soundmodel> so in (list 1 2 3) we know that there are variables 1 2 3 and we can discard them right after list exists
<soundmodel> exits*
<soundmodel> because Lisp would guarantee us that 1 2 3 cannot be used for anything else after list returns
<phoe> please try #clschool instead because I assure you that you do NOT know what you are talking about
LW has joined #commonlisp
<jackdaniel> I like the premise though
ns12 has quit [Quit: bye]
soundmodel has quit [Ping timeout: 260 seconds]
ns12 has joined #commonlisp
czy` has joined #commonlisp
czy` has quit [Remote host closed the connection]
czy has quit [Quit: ERC 5.6-git (IRC client for GNU Emacs 30.0.50)]
czy has joined #commonlisp
tane has joined #commonlisp
tane has joined #commonlisp
tane has quit [Changing host]
Gleefre has quit [Remote host closed the connection]
glaucon has joined #commonlisp
NotThatRPG has joined #commonlisp
Gleefre has joined #commonlisp
bjorkint0sh has quit [Quit: Leaving]
pjb has joined #commonlisp
NotThatRPG has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
tyson2 has quit [Remote host closed the connection]
NotThatRPG has joined #commonlisp
lucasta has quit [Remote host closed the connection]
bjorkintosh has joined #commonlisp
bjorkintosh has joined #commonlisp
bjorkintosh has quit [Changing host]
jonatack3 has quit [Quit: WeeChat 3.8]
Krystof has joined #commonlisp
jonatack has joined #commonlisp
son0p has quit [Ping timeout: 260 seconds]
tyson2 has joined #commonlisp
Krystof has quit [Ping timeout: 248 seconds]
mgl has quit [Quit: Client closed]
Gleefre has quit [Remote host closed the connection]
Devon has quit [Remote host closed the connection]
Devon has joined #commonlisp
Gleefre has joined #commonlisp
enzuru has quit [Quit: ZNC 1.8.2 - https://znc.in]
waleee has joined #commonlisp
epolanski has joined #commonlisp
soundmodel has joined #commonlisp
<Shinmera> phoe: so. How about that Verbose patch.
soundmodel has quit [Client Quit]
<jackdaniel> verbose patch is eerily quiet
tyson2 has quit [Remote host closed the connection]
eddof13 has joined #commonlisp
enzuru has joined #commonlisp
monoidog has quit [Remote host closed the connection]
akoana has joined #commonlisp
jathd has quit [Ping timeout: 248 seconds]
tyson2 has joined #commonlisp
eddof13 has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
tane has quit [Quit: Leaving]
akoana has quit [Quit: leaving]
jeosol has joined #commonlisp
enzuru has quit [Quit: ZNC 1.8.2 - https://znc.in]
NicknameJohn has joined #commonlisp
enzuru has joined #commonlisp
_cymew_ has quit [Ping timeout: 246 seconds]
enzuru has quit [Client Quit]
enzuru has joined #commonlisp
Brucio-61 has quit [Ping timeout: 260 seconds]
scymtym has quit [Ping timeout: 256 seconds]
son0p has joined #commonlisp
fe[nl]ix has quit [Quit: Valete!]
shka has quit [Ping timeout: 240 seconds]
rgherdt has quit [Remote host closed the connection]
Brucio-61 has joined #commonlisp
epony has joined #commonlisp
fe[nl]ix has joined #commonlisp
cage has quit [Quit: rcirc on GNU Emacs 28.2]
waleee has quit [Ping timeout: 265 seconds]
scymtym has joined #commonlisp
waleee has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
enzuru has quit [Quit: ZNC 1.8.2 - https://znc.in]
enzuru has joined #commonlisp
lucasta has joined #commonlisp
LW has quit [Quit: WeeChat 3.8]
jonatack has quit [Read error: Connection reset by peer]
jonatack has joined #commonlisp
czy has quit [Remote host closed the connection]
kevingal has quit [Ping timeout: 265 seconds]
czy has joined #commonlisp
waleee has quit [Ping timeout: 260 seconds]
waleee has joined #commonlisp
<phoe> Shinmera: welp apologies
<phoe> haven't been feeling well enough to do anything programming-wise as of late, I might be able to do something about it soon
waleee has quit [Ping timeout: 248 seconds]
pve has quit [Quit: leaving]
NotThatRPG has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
epony is now known as Guest3663
Guest3663 is now known as epony
pieguy128 has quit [Quit: ZNC 1.8.2 - https://znc.in]
<cpli> say i have some '(FUN *WITH-FORMS*) but FUN and *WITH-FORMS* are in some package :USE-ME
<cpli> how could i (EVAL '(FUN *WITH-FORMS*)) ?
<cpli> if possible, how would i make those symbols available only for EVAL?
<cpli> i.e. for that one form
<Alfr> You can't.
pieguy128 has joined #commonlisp
<cpli> i mean, i could (USE-PACKAGE :USE-ME) and then (UNUSE-PACKAGE :USE-ME) before and after
<Alfr> Once you have '(fun *w/forms*) and when those symbols are in the wrong package, then it's already too late.
<cpli> true.
<cpli> oh, i'm writing a reader tho, which is why i'm dealing with this at all
<cpli> and it interns for the right package..
<Alfr> If you're writing a reader anyway, nothing prevents you reading whatever you desire and then call (intern name the-package-you-really-like).
<Alfr> cpli, and use-package likely won't do what you intend, especially if it's nested in some other forms, the reading part is long over before un-/use-package are run.
Gleefre has quit [Remote host closed the connection]