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/>
<nij-> So in the previous example, #'f gets compiled to its address..
<nij-> B8: D6FDFF58 LDR LEXENV, #x7006187B70 #<SB-KERNEL:FDEFN F>
<nij-> What if this has to be serialized in to a fasl?
<nij-> Next time when the fasl is loaded, this #'f won't be back anymore.
<bike> then it wouldn't be going through cl:compile like this
<nij-> I want to try it.. how do you compile it to file? I keep getting the assembly code as I'm in the repl.
traidare has quit [Ping timeout: 255 seconds]
<bike> compile-file, of course. which doesn't produce an intermediate thing for you to disassemble
<nij-> So I put (defun f ()) (defun g () ) (defun foo () (f) (g)) in to `/tmp/test.lisp`, and (compile-file "/tmp/test.lisp").
<nij-> Now I get /tmp/test.fasl, which is binary and I couldn' read..
<nij-> but the compilation went through!
dnhester` has joined #commonlisp
<aeth> It will look up F and G by name. Probably. Technically, it's free to inline it because it's within a compilation unit (file in this case).
<aeth> I'm not sure any implementation actually does inline like that when you don't request it
<nij-> I see.
<aeth> well, it may see that the value of (f) is useless and drop the call
<aeth> again, only because it sees that F has no side effects because it's within the same compilation unit (outside, it could be redefined to have side effects)
<bike> but the compile-file process does _not_ amount to doing cl:compile and then working backward from the addresses.
<nij-> I see.
<nij-> Very interesting :)
<nij-> Thanks!
<aeth> if you want F and G to stay around for sure you can (declaim (notinline f g))
dnhester` has quit [Ping timeout: 268 seconds]
<aeth> inside of FOO, anyway. they will have to stay around in general because e.g. the REPL
yitzi has quit [Remote host closed the connection]
dnhester` has joined #commonlisp
dnhester` has quit [Ping timeout: 264 seconds]
<bike> i don't think inlining is relevant here, aeth.
skeemer has quit [Ping timeout: 264 seconds]
nij- has left #commonlisp [Using Circe, the loveliest of all IRC clients]
rgherdt has quit [Quit: Leaving]
dnhester` has joined #commonlisp
dnhester` has quit [Ping timeout: 272 seconds]
tibfulv has quit [Remote host closed the connection]
tibfulv has joined #commonlisp
waleee has quit [Ping timeout: 255 seconds]
istewart has joined #commonlisp
ebrasca has quit [Remote host closed the connection]
ymir has quit [Ping timeout: 268 seconds]
green_ has joined #commonlisp
zaymington has joined #commonlisp
Pixel_Outlaw has joined #commonlisp
ymir has joined #commonlisp
random-nick has quit [Ping timeout: 252 seconds]
molson has quit [Remote host closed the connection]
Lord_of_Life_ has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 264 seconds]
Lord_of_Life_ is now known as Lord_of_Life
dnhester` has joined #commonlisp
dnhester` has quit [Ping timeout: 268 seconds]
occ has quit [Read error: Connection reset by peer]
decweb has quit [Ping timeout: 240 seconds]
occ has joined #commonlisp
tyson2 has joined #commonlisp
ymir has quit [Ping timeout: 255 seconds]
<jmercouris> Alright, how to fix this:
<ixelp> dpaste: GRM37JG6M
<jmercouris> I can do http://dpaste.com/6CCJ3XU4Q
<ixelp> dpaste: 6CCJ3XU4Q
<jmercouris> but I don't like
<gilberth> s/progn/locally/
bilegeek has joined #commonlisp
<jmercouris> gilberth: still doesn't work
<ixelp> dpaste: HR4WN4CWN
<gilberth> Indeed. I thought this is general trouble of placing declarations.
<gilberth> You're out of luck here then. Short of saying (declare (ignorable x)). But I have no clue what you really want to do.
<jmercouris> OK
<jmercouris> thanks gilberth
<jmercouris> I will take the silly way
<bike> what are you trying to do
<jmercouris> bike: basically I have a an argument, to a function, that is only used on one platform
<jmercouris> s/platform/type of computer given a feature
<gilberth> Then use (ignorable x), if it is about silencing warnings.
<jmercouris> and so I want to say something like #+macOS (declare (ignore x)) (print "sorry, no macOS")
green_ has quit [Ping timeout: 268 seconds]
<jmercouris> I can also do the method I outlined earlier though, which will allow the declaration to be the first form still
<jmercouris> I guess it doesn't *really* matter
<bike> so why don't... do that?
<jmercouris> well, I will do that
<jmercouris> it just seemed stupid to repeat
<jmercouris> because I have this #-(and unix (not darwin)) condition TWICE
<jmercouris> within the same function
<jmercouris> let me show you the full solution I've ended up at
<bike> oh, so you want both forms to have the reader conditional
<ixelp> dpaste: 6XT8RU5EW
<jmercouris> yes, so I ended up doing this stupid thing
<bike> well, gilberth is right, this is pretty much exactly what ignorable is for
<jmercouris> so there are no differences?
<jmercouris> with regards to compiler behavior?
<bike> differences? what?
<bike> ignorable just means not to warn whether it's used or not. simple.
<jmercouris> OK
<jmercouris> for some reason I thought doing (declare (ignore ...)) because it is the first form in the lambda had some sort of performance benefit
<jmercouris> that is why it needed to be there, so that there could be some sort of compiler optimization
<jmercouris> just so many assumptions in my mind, that is all
<bike> it has no performance benefit. it's actually explicitly forbidden for ignore declarations to alter the semantics of the program.
<jmercouris> aha, I didn't know that, thank you
<gilberth> Besides, any respectable compiler would recognize on its own that a variable is unused. Or how otherwise it could warn you about that?
<jmercouris> yes, well I haven't thought deeply about this issue :-D
<jmercouris> but you are right, that makes a lot of sense
ymir has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
decweb has joined #commonlisp
nij- has joined #commonlisp
josrr has quit [Remote host closed the connection]
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
terrorjack has joined #commonlisp
decweb has quit [Ping timeout: 272 seconds]
awlygj has joined #commonlisp
istewart has quit [Quit: Konversation terminated!]
bilegeek has quit [Quit: Leaving]
nij- has left #commonlisp [Using Circe, the loveliest of all IRC clients]
dnhester` has joined #commonlisp
dnhester` has quit [Ping timeout: 252 seconds]
hineios2 has quit [Ping timeout: 260 seconds]
hineios2 has joined #commonlisp
nij- has joined #commonlisp
ymir has quit [Ping timeout: 264 seconds]
nij- has quit [Ping timeout: 268 seconds]
ymir has joined #commonlisp
leeb has joined #commonlisp
ymir has quit [Ping timeout: 252 seconds]
st_aldini has quit [Quit: st_aldini]
igemnace has joined #commonlisp
mulk has quit [Ping timeout: 246 seconds]
rtypo has quit [Ping timeout: 260 seconds]
mulk has joined #commonlisp
zetef has joined #commonlisp
danza has joined #commonlisp
dnhester` has joined #commonlisp
ymir has joined #commonlisp
X-Scale has joined #commonlisp
dnhester` has quit [Ping timeout: 246 seconds]
triffid has quit [Ping timeout: 260 seconds]
gorignak has quit [Ping timeout: 268 seconds]
Pixel_Outlaw has quit [Quit: Leaving]
wacki has joined #commonlisp
triffid has joined #commonlisp
chomwitt has joined #commonlisp
ymir has quit [Ping timeout: 255 seconds]
ronald has quit [Ping timeout: 260 seconds]
ronald has joined #commonlisp
pve has joined #commonlisp
awlygj has quit [Remote host closed the connection]
awlygj has joined #commonlisp
ronald_ has joined #commonlisp
King_julian has joined #commonlisp
ronald has quit [Ping timeout: 260 seconds]
agrosant has joined #commonlisp
msavoritias has joined #commonlisp
X-Scale has quit [Quit: Client closed]
shka has joined #commonlisp
awlygj has quit [Quit: leaving]
mulk has quit [Ping timeout: 256 seconds]
awlygj has joined #commonlisp
mulk has joined #commonlisp
amb007 has quit [Ping timeout: 255 seconds]
amb007 has joined #commonlisp
zaymington has quit [Remote host closed the connection]
pillton has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.2)]
danza has quit [Ping timeout: 268 seconds]
mgl has joined #commonlisp
mgl has quit [Ping timeout: 255 seconds]
waleee has joined #commonlisp
agrosant has quit [Ping timeout: 264 seconds]
rgherdt has joined #commonlisp
AndreiDuma has joined #commonlisp
dnhester` has joined #commonlisp
danse-nr3 has joined #commonlisp
danse-nr3 has quit [Remote host closed the connection]
danse-nr3 has joined #commonlisp
agrosant has joined #commonlisp
amb007 has quit [Ping timeout: 255 seconds]
amb007 has joined #commonlisp
dnhester` has quit [Ping timeout: 268 seconds]
agrosant has quit [Ping timeout: 264 seconds]
danse-nr3 has quit [Read error: Connection reset by peer]
danse-nr3 has joined #commonlisp
dnhester` has joined #commonlisp
zetef has quit [Remote host closed the connection]
skeemer has joined #commonlisp
agrosant has joined #commonlisp
bendersteed has joined #commonlisp
Cymew has joined #commonlisp
mgl has joined #commonlisp
pfdietz has quit [Quit: Client closed]
amb007 has quit [Ping timeout: 256 seconds]
amb007 has joined #commonlisp
<OlCe> Hi, just noticed recently this PARSE-INTEGER oddity:
dino_tutter has joined #commonlisp
<OlCe> > (parse-integer " 123 ")
<OlCe> 123
<OlCe> 7
<OlCe> > (parse-integer " 123 " :junk-allowed t)
<OlCe> 123
<OlCe> 5
<OlCe> I don't see how the second return value in that second case could be anything other than 7, especially according to CLHS (12.2).
<OlCe> Yet, SBCL, CCL and ECL return the same.
<OlCe> Any rationale as for why? Do you know of any other implementation *not* doing that?
donleo has joined #commonlisp
<pve> OlCe: mustn't it check the whole string to ensure that there isn't any junk?
<beach> clhs parse-integer
<ixelp> CLHS: Function PARSE-INTEGER
<OlCe> Yes, I know it quite well.
<OlCe> And although it's not perfectly explicit about the second case above (with :JUNK-ALLOWED set to T)
<beach> OlCe: "The second value is either the index into the string of the delimiter that terminated the parse, or..."
<OlCe> Exactly.
<OlCe> Coupled with this:
<OlCe> "Optional leading and trailing whitespace[1] is ignored."
<OlCe> Which always applies.
<beach> I think there is a contradiction in this dictionary entry.
<OlCe> I don't think so.
<beach> A case for WSCL it seems.
<OlCe> Yes.
<OlCe> I don't think so because you can't ignore characters if you're not parsing them.
<beach> I think I see what you are saying. "Junk" can't be whitespace according to your cited phrase.
<OlCe> Indeed.
<beach> Makes sense.
<OlCe> And it not only makes sense from a spec point of view,
<OlCe> but also from a usage point of view.
<beach> Yes, I see.
<OlCe> With the description of PARSE-INTEGER, I get the feeling I can ignore whitespace, and that the next index to parse from will be after trailing whitespace.
<OlCe> Unfortunately, in practice, that isn't true with :JUNK-ALLOWED being T.
<beach> I understand.
awlygj has quit [Remote host closed the connection]
awlygj has joined #commonlisp
<OlCe> Ok. I'll probably file bugs for this, although a priori I don't have high hopes that they will be accepted everywhere, especially given all these implementations do the same. But we'll see.
<beach> I tend to agree with you.
<beach> While you are at it, can you make a short issue for WSCL? That way, I can later turn it into a real issue report and a proposal.
<OlCe> I've been far away from CL for a few years now. Could you remind me the procedure? I think there is a git repo I have to clone?
<beach> No, just go to the repository and file a new issue.
<beach> I'll give you the link. Hold on...
<ixelp> Issues · s-expressionists/wscl · GitHub
<beach> Just click on New issue and write a short sentence.
chomwitt has quit [Ping timeout: 256 seconds]
X-Scale has joined #commonlisp
alcor has joined #commonlisp
<OlCe> Thanks.
OlCe` has joined #commonlisp
agrosant has quit [Ping timeout: 264 seconds]
X-Scale has quit [Quit: Client closed]
yitzi has joined #commonlisp
<beach> Thank you!
agrosant has joined #commonlisp
ebrasca has joined #commonlisp
traidare has joined #commonlisp
<OlCe> Done.
<ixelp> PARSE-INTEGER with :JUNK-ALLOWED true should return a bounding index after trailing whitespaces · Issue #40 · s-expressi [...]
<beach> Thanks!
<OlCe> I'm lacking time right now to format the issue properly, but if nobody beats me to it, I'll try to give it a shot in the coming weeks. And also open bugs in the mentioned implementations.
<beach> Sounds good.
<OlCe> I've edited the initial comment, in particular merging the additional one into it (and deleted the latter).
<beach> Perfect.
agrosant has quit [Ping timeout: 264 seconds]
zetef has joined #commonlisp
random-nick has joined #commonlisp
igemnace has quit [Read error: Connection reset by peer]
jjnkn has joined #commonlisp
mala has quit [Ping timeout: 255 seconds]
King_julian has quit [Ping timeout: 272 seconds]
igemnace has joined #commonlisp
Gleefre has joined #commonlisp
<younder> beach. Is there a SICL profiler?
<beach> No, not yet.
<beach> There is nothing to profile yet.
<beach> I mean, we execute SICL code, but only at bootstrapping time, and that code is not designed to be efficient anyway, so not worth profiling.
decweb has joined #commonlisp
<younder> Good to know. I'll just use SBCL's profiler for now.
<beach> Yes.
<beach> To be more specific, at bootstrapping time, the SICL code that we need to execute is compiled into very inefficient host code and then executed by the host.
dnhester` has quit [Ping timeout: 264 seconds]
decweb has quit [Ping timeout: 252 seconds]
green_ has joined #commonlisp
<drmeister_> Does anyone use Shinmera's redist system? We a system of his called `dist` several years ago and I'm trying to get updated.
danse-nr3 has quit [Ping timeout: 252 seconds]
<Shinmera> redist is a complete rewrite and isn't compatible with the old way of doing things
<Shinmera> it's also not fully cooked yet, to be honest
markb1 has quit [Ping timeout: 255 seconds]
<Shinmera> it works, I'm using it for shirakumo
<Shinmera> but the way it stores data is far from ideal
<drmeister_> I have a repositories.txt file for dist - can I use that in redist?
decweb has joined #commonlisp
<Shinmera> not directly, though the file is simple enough that you can use it to feed the new system easily enough, I'd say
nij- has joined #commonlisp
nij- has quit [Client Quit]
nij- has joined #commonlisp
<nij-> Is the compiler of sbcl JIT?
King_julian has joined #commonlisp
<nij-> It compiles while the repl is running.
<nij-> But I've read somewhere else that it's AOT.
dnhester` has joined #commonlisp
<beach> nij-: I don't think the definitions of JIT and AOT are precise enough to make the distinction.
markb1 has joined #commonlisp
<nij-> Hmm
<beach> I suspect the terms were established in the context of traditional static (batch) languages.
<beach> So then AOT means the compile is applied to a file before the program is linked and executed.
dnhester` has quit [Ping timeout: 260 seconds]
<beach> And JIT means that the compiler is executed during the execution of the resulting program.
<beach> But Common Lisp is not a static language.
<drmeister_> nij: sbcl's compiler is really, really fast. It's used to compile code interactively and to compile code AOT.
<drmeister_> I think it always compiles to native code.
<Shinmera> the compiler is pretty slow, but the resulting code can be good
<beach> drmeister_: I think the question here is whether interactive compilation is defined as JIT or AOT.
<Shinmera> "JIT" can also refer to automatic hot-path optimisation techniques, which afaiu no implementation performs at this time
<drmeister_> Speaking as someone with a slow compiler I'm calling sbcl fast.
<nij-> (haha)
<drmeister_> I understand. Clasp has a JIT.
<nij-> I maybe mixing AOT+interactive with JIT.
<nij-> Feels that both notions are similar. But JIT includes more hastleness.
<nij-> Is there a program that inputs any claim-to-be common lisp implementation, and outputs a list of violations against the spec?
<Shinmera> no
<beach> But the ANSI test suite tries to come close.
<drmeister_> nij: There are the ansi tests.
<drmeister_> A whole mess-o-tests that test all sorts of aspects of the standard.
<drmeister_> It's our north star.
danse-nr3 has joined #commonlisp
<drmeister_> Shinmera: If I wanted to convert from `dist` to `redist` do you have any guide?
<beach> nij-: I don't know SBCL well enough, but let's say that a generic function is called, and its discriminating function is not up to date. Is it then JIT if the compiler is applied to a newly generated form that implements the discriminating function?
<beach> nij-: I think it is, so in that case, the compiler is sometimes used AOT and sometimes JIT.
<Shinmera> drmeister_: not directly, sorry
<drmeister_> Otherwise I'm in #clasp trying to bring `dist` up to whatever most advanced level it was when you started developing `redist` - do you have any thoughts on a way forward? We have a `quickclasp` thing that we depend on.
<beach> nij-: Seriously, I don't think the distinction makes much sense for a dynamic language.
King_julian has quit [Remote host closed the connection]
danse-nr3 has quit [Remote host closed the connection]
<drmeister_> Doesn't JIT require that you have some runnable intermediate representation that most things are compiled to and if they are called too many times (hot code) then they get compiled to native code.
<nij-> Is this the "official version" of ANSI test suite? https://gitlab.common-lisp.net/ansi-test/ansi-test
<drmeister_> We have that in Clasp as of a couple of months ago.
<ixelp> ansi-test / ansi-test · GitLab
dnhester` has joined #commonlisp
danse-nr3 has joined #commonlisp
<bike> nij-: yes
<beach> drmeister_: You might be right. But that's a very narrow definition if so.
<nij-> beach I get your point. Yes. There is a whole specturm between AOT and JIT.
<bike> drmeister_: it's a pretty vague term.
<nij-> Good. Thanks :) on both questions.
<nij-> I find CLHS a pleasant dictionary to go to. Any other languages' spec have the same vibe? (subjective)
<beach> The Nova Spec has a better look, and way fewer errors.
dnhester` has quit [Remote host closed the connection]
dnhester` has joined #commonlisp
<beach> Otherwise, they are from the same source.
<nij->
<nij-> nova spec?
<beach> https://novaspec.org/cl I think.
<ixelp> Common Lisp Nova Spec
|3b|` is now known as |3b|
<ixelp> Common Lisp Nova Spec
<nij-> New thing? I haven't been here for a while.
<drmeister_> Shinmera: Should I switch to `redist`?
<Shinmera> I don't know, is there a problem with your old setup?
traidare has quit [Ping timeout: 264 seconds]
<drmeister_> Yeah. We hit a problem. Let me see if I can summarize it. Something, something, old asdf, something.
<drmeister_> I think we have a system with a `:feature` keyword and our old asdf wasn't handling it.
<Shinmera> and you can't update asdf?
<drmeister_> I did `git pull origin master` in the `dist` directory and now it's `redist`
<Shinmera> ah.
<Shinmera> redist does handle that correctly
cage has joined #commonlisp
yitzi has quit [Ping timeout: 264 seconds]
yitzi_ has joined #commonlisp
<Shinmera> but yeah, sorry, I've just been using it internally and the documentation isn't there yet
zetef has quit [Remote host closed the connection]
yitzi_ has quit [Remote host closed the connection]
yitzi has joined #commonlisp
<Shinmera> if you have a linux system you may be able to use the precompiled binary release form here <https://github.com/Shirakumo/redist/releases/tag/v1.1.1>
<ixelp> Release Release v1.1.1 · Shirakumo/redist · GitHub
<Shinmera> then do something like: ./redist add-dist quickclasp http://....whatever the url for quickclasp is
<Shinmera> and then ./redist add https://github.com/.... whatever the url is for a project in the dist
<Shinmera> for every project to add into the dist
pfdietz has joined #commonlisp
<drmeister_> Ok, I'm following.
<Shinmera> finally ./redist compile -vuj 4
<Shinmera> to actually compile a dist release
<Shinmera> the 4 is just a sample number for how much you want to parallelise
<yitzi> drmeister_: Maybe we should just start from scratch with redist.
<Shinmera> I don't know what kindsa customisations you've made, so
<yitzi> If we can't get it working in short order.
<drmeister_> I successfully ran `(ql:update-dist "ultralisp")`
<drmeister_> Also, in the crufty old `quicklisp/local-projects/dist` I did `git pull origin master`
<drmeister_> and a `redist.asd` file appeared with a bunch of new changes.
<drmeister_> It's still on branch master. Maybe I switch to main?
<drmeister_> Or yeah, I upgrade to `redist`
<yitzi> I believe the branch is still master
<yitzi> or should be.
<Shinmera> the old system is on the 1.0 branch
<younder> beach: I am having trouble finding :sicl-environment during a :sicl-boot. Is it somewhere on github?
bendersteed has quit [Remote host closed the connection]
bendersteed has joined #commonlisp
<beach> younder: The SICL bootstrapping procedure is broken and being worked on.
decweb has quit [Ping timeout: 260 seconds]
<younder> Ok Clostrum I was able to upload. but it is not pulled in by the install
<beach> There is no point in trying it right now. It would take too much work.
<drmeister_> (sigh) sbcl on that system is old. Everything is old. Old, old, old.
<younder> Good to know. Is Cleavir usable?
<drmeister_> And it's FreeBSD. Fork me.
<Shinmera> drmeister_: you can't use the binary I linked?
<Shinmera> oh
<Shinmera> well
<Shinmera> fwiw the way redist works you do not need to run it on the server directly
<Shinmera> it spits out a directory of completely static files
<Shinmera> which you can just serve with a standard http server however you like
<beach> younder: Try bike's version of Cleavir. It is maintained.
<beach> younder: Most of Cleavir v1 (what you see in SICL) has been or will be extracted to external libraries like Iconoclast and Common Boot.
<beach> And of course then new backend library.
<drmeister_> Shinmera: On this system I've just updated sbcl to 2.4.0
<drmeister_> There is a quicklisp distribution called "shirakumo" - when I try to update that dist it fails with the following.
<younder> Cleavir, Clostrum, Cluster.. a lot of these seem to start with CL..
nij- has left #commonlisp [Using Circe, the loveliest of all IRC clients]
<ixelp> Snippet | IRCCloud
<drmeister_> Do you have any recommendations to get past that? I don't know if it's on the critical path to success - but it's one place where I'm hitting a problem.
<beach> younder: Far from all of them.
<Shinmera> yea I think that's something with an https redirect or summat.
<Shinmera> remove the dist and add it again with https://dist.shirakumo.org/shirakumo.txt
<Shinmera> err, sorry
<yitzi> Do we need it all?
<Shinmera> you shouldn't need it
<drmeister_> Ok, I'll remove it. Nothing personal.
<drmeister_> Yeargh - it has to work in order to remove it.
<Shinmera> eh?
<Shinmera> no
<drmeister_> If I `rm -rf ~/quicklisp/dists/shirakumo` will that work?
<Shinmera> (ql-dist:uninstall (ql-dist:find-dist "shirakumo"))
<drmeister_> I was trying `(ql-dist:uninstall (ql-dist:find-dist "shirakumo"))`
<drmeister_> I get...
<ixelp> Snippet | IRCCloud
<Shinmera> how odd
<drmeister_> Indeed.
<Shinmera> but yea I think just deleting the dir should work
artyn has quit [Write error: Connection reset by peer]
cpli has quit [Write error: Connection reset by peer]
payphone has quit [Read error: Connection reset by peer]
sm2n has quit [Write error: Connection reset by peer]
whereiseveryone has quit [Write error: Connection reset by peer]
\f has quit [Remote host closed the connection]
nytpu has quit [Remote host closed the connection]
sirufer has quit [Remote host closed the connection]
edgarvincent has quit [Remote host closed the connection]
nathanb has quit [Remote host closed the connection]
chiheisen has quit [Read error: Connection reset by peer]
arpunk has quit [Remote host closed the connection]
theothornhill has quit [Write error: Broken pipe]
bheesham has quit [Write error: Connection reset by peer]
ajoberstar has quit [Write error: Connection reset by peer]
<drmeister_> Deleting.
zyd has quit [Remote host closed the connection]
jonlevin has quit [Read error: Connection reset by peer]
pvac has quit [Read error: Connection reset by peer]
Schnouki has quit [Read error: Connection reset by peer]
alethkit has quit [Write error: Connection reset by peer]
paulapatience has quit [Remote host closed the connection]
skin has quit [Write error: Broken pipe]
gosha_ has quit [Remote host closed the connection]
srhm has quit [Write error: Connection reset by peer]
sherbert has quit [Write error: Connection reset by peer]
mcoll has quit [Remote host closed the connection]
rselim has quit [Read error: Connection reset by peer]
slondr has quit [Read error: Connection reset by peer]
migalmoreno has quit [Remote host closed the connection]
jasom has quit [Remote host closed the connection]
brettgilio has quit [Read error: Connection reset by peer]
mhcat has quit [Read error: Connection reset by peer]
okflo has quit [Read error: Connection reset by peer]
morganw has quit [Remote host closed the connection]
ggb has quit [Read error: Connection reset by peer]
shunter has quit [Remote host closed the connection]
jmbr has quit [Remote host closed the connection]
edgarvincent has joined #commonlisp
pvac has joined #commonlisp
shunter has joined #commonlisp
okflo has joined #commonlisp
mhcat has joined #commonlisp
ggb has joined #commonlisp
morganw has joined #commonlisp
Schnouki has joined #commonlisp
arpunk has joined #commonlisp
paulapatience has joined #commonlisp
sherbert has joined #commonlisp
brettgilio has joined #commonlisp
artyn has joined #commonlisp
rselim has joined #commonlisp
sirufer has joined #commonlisp
zyd has joined #commonlisp
payphone has joined #commonlisp
gosha_ has joined #commonlisp
migalmoreno has joined #commonlisp
nytpu has joined #commonlisp
alethkit has joined #commonlisp
theothornhill has joined #commonlisp
sm2n has joined #commonlisp
skin has joined #commonlisp
whereiseveryone has joined #commonlisp
jonlevin has joined #commonlisp
jmbr has joined #commonlisp
nathanb has joined #commonlisp
slondr has joined #commonlisp
cpli has joined #commonlisp
mcoll has joined #commonlisp
jasom has joined #commonlisp
chiheisen has joined #commonlisp
ajoberstar has joined #commonlisp
srhm has joined #commonlisp
\f has joined #commonlisp
bheesham has joined #commonlisp
<drmeister_> As a check, after removing that directory I did (ql:update-all-dists) and it says "2 dists to check" and they are both at the latest version (quicklisp and ultralisp).
<yitzi> Maybe delete the cache also. ~/.cache/common-lisp
<drmeister_> Good point.
<Shinmera> why bother
<drmeister_> Now I wish I hadn't.
<drmeister_> Now I have:
<ixelp> Snippet | IRCCloud
<drmeister_> Good grief.
<drmeister_> Who's ixelp and why do they keep commenting on my snippets?
<Shinmera> it's a bot
<Shinmera> it posts the URL title
<drmeister_> I gotta run in to work - I'll pick this up in an hour.
palter has quit []
<younder> beach wouldn't it be a conflict compiling Concrete-Syntax-Tree to Abstract-Syntax-Tree to Block-Based-Intermediate-representation if you want to do your data-flow analysis on a Static-Single-Assignment form?
tyson2 has joined #commonlisp
Oladon has joined #commonlisp
<bike> how is the generation process relevant to whether the IR is in SSA form?
<younder> bike: I have a soft deadline on the compilation time. Also I need to test compilation. So I need to pull the data from CL to IR.
pfdietz has quit [Quit: Client closed]
OlCe` has quit []
<beach> younder: I don't know BIR, but I don't think there is a conflict. If BIR is not already SSA, you would have to apply the transformation to make it SSA.
<bike> there is no reason you couldn't put BIR into SSA form, and nothing about that has anything to do with CST or AST, so I don't know why you brought them up
skeemer has quit [Ping timeout: 272 seconds]
pfdietz has joined #commonlisp
pfdietz has quit [Client Quit]
a51 has joined #commonlisp
germ has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
tok has joined #commonlisp
amb007 has quit [Ping timeout: 240 seconds]
jjnkn has quit [Ping timeout: 272 seconds]
decweb has joined #commonlisp
AndreiDuma has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rtypo has joined #commonlisp
josrr has joined #commonlisp
zetef has joined #commonlisp
rogersm_ has quit [Quit: Leaving...]
nij- has joined #commonlisp
<nij-> Hmm.. sbcl fails ~150 tests in the ANSI test suite. Is that considered problematic?
<Shinmera> idunno, have you looked at the tests in question and whether they are actually correct
lucasta has joined #commonlisp
yitzi has quit [Ping timeout: 246 seconds]
yitzi has joined #commonlisp
waleee has quit [Ping timeout: 260 seconds]
<nij-> Nope. But since ansi test suite seems to be a goto.. I guess the community has a number in mind whether that is ok or not.
<Shinmera> ah, "the community"
<Shinmera> what would it matter if you actually got an answer to your question?
<Shinmera> what would you achieve with it?
<Shinmera> say it is "problematic", then what?
Gleefre has quit [Remote host closed the connection]
<nij-> problematic curiosity with apology
Gleefre has joined #commonlisp
AndreiDuma has joined #commonlisp
<yitzi> There are always expected failures in ansi-test. Some implement's have made some slightly different choices.
<yitzi> s/implement's/implementations/
<nij-> I see.
<yitzi> There is an "expected-failure" mechanism built-in, but we don't maintain it for the various implementations. We trust that the implementations will us it as they see fit.
<yitzi> s/us/use/
rgherdt has quit [Ping timeout: 260 seconds]
<nij-> (All failures I got, according to the test suite, are unexpected failures.)
<nij-> Is NovaSpec open sourced? Is it based on WSCL?
<yitzi> Everything is unexpected failure until it is explicitly listed as otherwise. ABCL, Clasp and CMUCL currently take advantage of this mechanism.
<yitzi> Usually by the addition of an expected failures file.
rgherdt has joined #commonlisp
skeemer has joined #commonlisp
AndreiDuma has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<nij-> I see.
<yitzi> Sinec
<bike> the ansi tests cover some language semantics that are pretty obscure, so most real programs will work even if the implementation is technically wrong
<bike> and a few tests are based on incorrect or idiosyncratic interpretations of the spec
mm007emko has quit [Ping timeout: 246 seconds]
rgherdt has quit [Ping timeout: 256 seconds]
mm007emko has joined #commonlisp
jonatack has quit [Ping timeout: 255 seconds]
rgherdt has joined #commonlisp
msavoritias has quit [Ping timeout: 256 seconds]
chomwitt has joined #commonlisp
meritamen has joined #commonlisp
awlygj has quit [Quit: leaving]
occ has quit [Ping timeout: 252 seconds]
skeemer has quit [Ping timeout: 246 seconds]
lucasta has quit [Remote host closed the connection]
pfdietz has joined #commonlisp
occ has joined #commonlisp
mm007emko has quit [Read error: Connection reset by peer]
<nij-> Oh, gilberth is here. :O
mm007emko has joined #commonlisp
<nij-> Would (or did) you open source your dpANS parser that made Nova Spec?
ldb has joined #commonlisp
nij- has quit [Ping timeout: 260 seconds]
gorignak has joined #commonlisp
danse-nr3 has quit [Ping timeout: 240 seconds]
danse-nr3 has joined #commonlisp
szkl has joined #commonlisp
amb007 has joined #commonlisp
rgherdt has quit [Ping timeout: 256 seconds]
msavoritias has joined #commonlisp
attila_lendvai has joined #commonlisp
jonatack has joined #commonlisp
germ has joined #commonlisp
mm007emko has quit [Read error: Connection reset by peer]
mm007emko has joined #commonlisp
zxcvz has joined #commonlisp
zxcvz has quit [Client Quit]
amb007 has quit [Ping timeout: 256 seconds]
germ has quit [Changing host]
germ has joined #commonlisp
amb007 has joined #commonlisp
tok has quit [Remote host closed the connection]
green_ has quit [Ping timeout: 268 seconds]
meritamen has quit [Quit: I gotta go...]
ymir has joined #commonlisp
danse-nr3 has quit [Read error: Connection reset by peer]
rgherdt has joined #commonlisp
danse-nr3 has joined #commonlisp
chomwitt has quit [Quit: WeeChat 3.8]
kevingal has joined #commonlisp
mi6x3m has joined #commonlisp
<mi6x3m> Hey, I need some help with uninterned symbols. For a project I have a function (register-sound "~/foobar/sound.mp3" :dingdong)
<mi6x3m> and later code refers to the sound through (play-sound :dingdong)
<mi6x3m> is it a better idea to use #:dingdong if no other code cares about the symbol
<beach> You would have a hard time referring to them.
X-Scale has joined #commonlisp
<mi6x3m> beach, why? I'm not very clear on the semantics of uninterned symbols but for what I read they just don't exist in the package but are kinda used "on the fly
<beach> Like if you do (register-sound .... #:dingdong) and later (play-sound #:dingdong) then they won't be the same symbol.
<mi6x3m> not (eq ...) ?
<beach> Each time the reader sees #:dingdong, it creates a new uninterned symbol.
<ldb> (eq #:dingdong #:dingdong) => F
<beach> ,(eq #:dingdong #:dingdong)
<ixelp> ERROR: Unbound variable: #:DINGDONG
<beach> ,(eq '#:dingdong '#:dingdong)
<ixelp> => NIL
<mi6x3m> :dingdong it is then
<ldb> unless you compare with symbol name, which is, well, a round trip
<mi6x3m> it'd be yeah
<beach> Then, might as well use strings.
tyson2 has quit [Remote host closed the connection]
<mi6x3m> I am currently using strings
<mi6x3m> but I'm switching to symbols
<ldb> ql:quicklisp does accept both string/uninterned symbol, so I guess you got the idea from them
<mi6x3m> i did from a defpackage notation actually
<mi6x3m> still not quite clear when to use #:
<ldb> but the good idea is keep things simple, if the goal is not trying to compatible with something else
<beach> mi6x3m: I use it to make it clear that only the name is important.
<beach> mi6x3m: But that's not the case for your use case.
bendersteed has quit [Quit: bendersteed]
<ldb> historically defpackage had many versions
<mi6x3m> how do you mean "only the name is important" ?
<beach> mi6x3m: Since (symbol-package '#:mumble) is NIL, i.e., the symbol does not have a home package, no information can be transmitted that way. We are left with the name.
<beach> mi6x3m: I could have written (in-package "MUMBLE"), but I think the upper-case only is ugly, so then I use #:mumble instead, telling the person reading the code that the name of #:mumble (which is "MUMBLE") is the only thing important here.
<mi6x3m> ok i get it, thank you
<beach> Sure.
ymir has quit [Ping timeout: 268 seconds]
meritamen has joined #commonlisp
ronald_ has quit [Ping timeout: 260 seconds]
ronald has joined #commonlisp
jjnkn has joined #commonlisp
<younder> beach: build of second-climacs breaks with The symbol "LINES" is not external in the INCREMENTALIST package. and Symbol "COMPUTE-WAD-DESCRIPTORS" not found in the INCREMENTALIST package.
<scymtym> younder: we are currently reworking some aspects of incrementalist and second climacs. we hope to make a release of the relevant libraries that restores previous functionality soon
<beach> scymtym beat me to it.
<younder> Ok I'm trying to hack together a mock runtime. Seems I'll be using Closter, Cleavir, Elector.
<beach> It looks like you are discovering all the extracted libraries we have been working on for the past year or so.
<beach> Not sure what Closter is though.
<beach> Nor Elector. :)
<younder> Clostrum, Eclector I must admit these names are a bit confusing
<ldb> lol, but it is better a name than ConTeXt
<ldb> or Clean
<younder> beach yes, I'm trying to figure out how this compiler fits into the big picture. What comes in and what goes out. How the data gets stored and retrieved etc.
mgl has quit [Ping timeout: 256 seconds]
varjag has joined #commonlisp
Cymew has quit [Ping timeout: 272 seconds]
Lycurgus has joined #commonlisp
zetef has quit [Ping timeout: 264 seconds]
<mi6x3m> how can I embed a tab char in a string?
<beach> You mean the one you are working on? Again, what goes in is MIR roughly as defined by Muchnick's book. It manipulates explicit addresses and it has instructions such as load, store, add, less.
<mi6x3m> with format #\Tab
<beach> mi6x3m: Why not just stick it in there?
danse-nr3 has quit [Ping timeout: 260 seconds]
<mi6x3m> because it's indistinguishable for spaces
<scymtym> if you want to avoid the tab character in the source code you can use (format nil "... ~C ..." #\Tab)
<ldb> get a better text editor
<scymtym> and #.(format nil "... ~C ..." #\Tab) if a string literal is required
<mi6x3m> quite happy with vim, thank you ldb
<mi6x3m> scymtym, it's what i did yeah
* ldb never had problem type and see non printable ASCII in emacs
<mi6x3m> tab is not printable you say?
<ldb> ^Q^C^T^@^A
<ldb> and tab is ^I
igemnace has quit [Quit: WeeChat 4.2.1]
meritamen has quit [Quit: I gotta go...]
<mi6x3m> in a macro, how can I find the length of a list passed as an argument?
<younder> Emacs has a spaces mode that makes it very explicit what indentation characters are used.
<ldb> length?
<mi6x3m> (defmacro foo (some-vars-bound-to-something) .... `(length ?? some-vars-bound-to-something))
mon_key has joined #commonlisp
<mi6x3m> younder, I can format tabs in vim as well, though it kinda defeats the indentation and spacing function
mon_key_sdp has joined #commonlisp
<beach> mi6x3m: Not inside quote. Just (LENGTH SOME-VARS-BOUND-TO-SOMETHING).
<beach> mi6x3m: A macro is a function that receives its arguments unevaluated.
<mi6x3m> no way inside quote?
mon_key_sdp has quit [Client Quit]
<beach> mi6x3m: You can put any code in the body of a macro.
alcor has quit [Read error: Connection reset by peer]
<beach> mi6x3m: Now I am confused. Did you want the length of the argument or not?
<mi6x3m> I mean the number of elements in the list that is the argument
<mi6x3m> which is spliced inside the quote that is the final statement of the macro's body
<beach> mi6x3m: Why don't you show us an example.
<mi6x3m> (defmacro foo (something) `(length something))
<beach> *sigh*
<mi6x3m> (foo (a b c))
<beach> I mean, show us how you want to call it, and what you want it to return.
<mi6x3m> should syntactically convert to 3
<mi6x3m> well, i'm telling you (macroexpand-1 '(foo (a b c))) should return "3"
mon_key has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.2)]
<yitzi> I hope there is more, cause a macro isn't needed there
<mi6x3m> yes there is way more
<mi6x3m> but this is the essence of the question
<beach> ,(defmacro foo (x) (length x)) ,(foo (a b c))
<ixelp> (defmacro foo (x) (length x)) => FOO, also (foo (a b c)) => 3
<mi6x3m> it's a field parser that should assign the rest of the line to the final field var if there are less variables than fields
<mi6x3m> beach, but how to use the length in the ` part ?
<yitzi> You should read about the difference between quote and backquote.
<mi6x3m> i know the difference, guys... it's simple
<mi6x3m> I want to use the 3 in the backquote
<beach> ,(defmacro foo (x) `(+ 2 ,(length x))) ,(foo (a b c))
<ixelp> (defmacro foo (x) `(+ 2 ,(length x))) => FOO, and then (foo (a b c)) => 5
Gleefre has quit [Remote host closed the connection]
<mi6x3m> thanks beach!!!
Gleefre has joined #commonlisp
<beach> mi6x3m: Sure. These questions might better be asked in #clschool, because they are very basic.
<beach> mi6x3m: This is just about how the backquote macro works.
<beach> ,`(a b ,*print-base* c)
<ixelp> => (A B 10 C)
<mi6x3m> tbh my project has dozens of macros but they've ever expanded variables
<mi6x3m> not functions calls
<beach> mi6x3m: Again, it has nothing to do with macros. It's about the backquote reader macro.
<mi6x3m> yes i it
<ldb> three comma programmer
<beach> ,(defmacro foo (x) (list '+ 2 (length x))) ,(foo (a b c))
<ixelp> (defmacro foo (x) (list '+ 2 (length x))) => FOO, but (foo (a b c)) => 5
<beach> mi6x3m: That macro does not use the backquote reader macro.
<ldb> ,(defmacro foo (x) (list '+ 2 (length x))) ,(let ((a '(1 2 3))) (foo a))
<ixelp> (defmacro foo (x) (list '+ 2 (length x))) => FOO, also (let ((a '(1 2 3))) (foo a)) ERROR: The value A is not of the expected type SEQUENCE.
<mi6x3m> beach, I know
<ldb> is this what you meant, mi6x3m?
<mi6x3m> ldb, no
<mi6x3m> the matter is settled thanks to beach :)
<ldb> ok, that is a relief to me
<ldb> because that one is harder to explain
<beach> ldb: Do you want to make a bet that the requirements will change later? :)
<mi6x3m> was there ever a case in software where the requirements didn't change later
<ldb> TeX
<mi6x3m> true
ldb has quit [Quit: lunch break]
mala has joined #commonlisp
mgl has joined #commonlisp
tyson2 has joined #commonlisp
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
danza has joined #commonlisp
dnhester` has quit [Ping timeout: 272 seconds]
danza has quit [Read error: Connection reset by peer]
danza_ has joined #commonlisp
<drmeister_> Shinmera: I think this will set up my quickclasp dist using redist - do you have any thoughts?
<ixelp> Snippet | IRCCloud
<Shinmera> looks fine to me. give it a try
<Shinmera> be sure to run (redist:persist) after compiling to make sure it saves the distinfo to file
wacki has joined #commonlisp
pfdietz has quit [Quit: Client closed]
X-Scale has quit [Quit: Client closed]
<Shinmera> I've also pushed an update to the readme that explains how to use the binary to manage the dist, instead
Gleefre has quit [Ping timeout: 250 seconds]
<aeth> ,(defmacro foo () "Hello, world") ,(foo)
<ixelp> (defmacro foo () "Hello, world") => FOO, further (foo) => "Hello, world"
<aeth> just to drive home the point that the ` quasiquote thing is entirely separate from DEFMACRO
ymir has joined #commonlisp
chomwitt has joined #commonlisp
mi6x3m has quit [Quit: Leaving]
<aeth> You can, and perhaps should for any advanced macro, just write a function and then test the function to make sure it produces the correct macroexpansion and then call that function directly in the DEFMACRO. The only issue is that it either has to be in a separate file or wrapped in an appropriate EVAL-WHEN for DEFMACRO to see it.
dnhester` has joined #commonlisp
alcor has joined #commonlisp
Gleefre has joined #commonlisp
Pixel_Outlaw has joined #commonlisp
Renfyeld has joined #commonlisp
EsoAlgo8112 has joined #commonlisp
dnhester` has quit [Ping timeout: 246 seconds]
masinter_ has joined #commonlisp
nxtr__ has joined #commonlisp
fiddlerw- has joined #commonlisp
m5zs7k_ has joined #commonlisp
kabriel has joined #commonlisp
ello has quit [Ping timeout: 260 seconds]
fiddlerwoaroof has quit [Ping timeout: 260 seconds]
nxtr_ has quit [Ping timeout: 260 seconds]
masinter has quit [Ping timeout: 260 seconds]
jfb4 has quit [Read error: Connection reset by peer]
m5zs7k has quit [Quit: m5zs7k]
masinter_ is now known as masinter
ryanbw has quit [Ping timeout: 264 seconds]
skempf has quit [Ping timeout: 264 seconds]
jfb4_ has joined #commonlisp
dino_tutter has quit [Ping timeout: 260 seconds]
fe[nl]ix has quit [Ping timeout: 260 seconds]
Renfield has quit [Ping timeout: 260 seconds]
EsoAlgo811 has quit [Ping timeout: 260 seconds]
zagura has quit [Ping timeout: 260 seconds]
EsoAlgo8112 is now known as EsoAlgo811
ello has joined #commonlisp
zagura has joined #commonlisp
fe[nl]ix has joined #commonlisp
bjorkintosh has quit [Ping timeout: 260 seconds]
jfb4_ is now known as jfb4
ryanbw has joined #commonlisp
traidare has joined #commonlisp
dnhester` has joined #commonlisp
ymir has quit [Ping timeout: 268 seconds]
m5zs7k_ is now known as m5zs7k
dino_tutter has joined #commonlisp
waleee has joined #commonlisp
pranavats has left #commonlisp [Disconnected: Replaced by new connection]
pranavats has joined #commonlisp
bjorkintosh has joined #commonlisp
mon_key has joined #commonlisp
<mon_key> Howdy Lispers! It's been 12+ years since I've visited this forum. How the heck are ya'll doing?
pranavats has left #commonlisp [Disconnected: Hibernating too long]
Gleefre has quit [Ping timeout: 250 seconds]
<mon_key> Is this still the preferred place to interact with other Common Lispers or are there new venues that have emerged in recent times?
mgl has quit [Ping timeout: 256 seconds]
monospod has joined #commonlisp
<danza_> this channel is rather active i would say, maybe not at this hour
<Lycurgus> it's basically same deal as was at freenode with some name rationalizations
<Lycurgus> this is #commonlisp instead of #lisp principally
<mon_key> Cool. So, more or less same as it ever was?
<Lycurgus> pretty much
pranavats has joined #commonlisp
<Lycurgus> s/rationalizations/rectifications/
<mon_key> ?
danza_ has quit [Ping timeout: 240 seconds]
<zyd> mon_key: there is a very active discord server for Lispers as well. Lots of Common Lisp and Scheme folks.
<mon_key> @zyd is one more active than the other, eg. IRC vs Discord?
<zyd> Hm. I'd probably say the Discord server is more active. But from what I can tell the channels here are decently active too, mostly european time zone for irc though. Anecdotal anyway.
<aeth> The principle difference between IRC and Discord is that this channel has public logs on the web, while the Discord may but probably does not, effectively placing the backlog in /dev/null already (and literally placing the backlog in /dev/null once Discord, which has never turned a profit, starts going downhill or out of business)
<zyd> I prefer irc but I'm in both. Pretty valuable ways of interacting with folks.
<zyd> if you want an invite, i can shoot you a message. lemme know.
<mon_key> Are Stassats, Pascal B, Zach B, etc. still active here?
<aeth> stassats has only been in #sbcl for many, many years
<aeth> pjb got banned
<aeth> 241 days ago if the banlist is accurate
<mon_key> @zyd that would be great, although frankly i'm not sure how much overhead I want to give getting a discord client running in emacs.
<mon_key> It's been a long(ish) road just to get to this point. I stepped away from programming and computers in general for nearly a decade. Recently had the need to recover some old data from a CL project I was building. Code was located on an old Linux box that had been in a flood. Had to recover the harddrives. Transfer all configs to a Mac. Get my old emacs stack up to speed. Get my environment anbd environ variables matched up. Hadd
<mon_key> fix 12+ years of changes to the elisp drift. That took more time than i wanted. Once i got the emacs sorted it was time to get my CL code back up. Pulled SBCL from homebrew and started frobbing the old code according to the SBCL compiler erros. That took another couple days. Finally got my code to run as it once did last night. So happy :)
<zyd> what does one have to do to get banned in a lisp channel. the heck
<mon_key> lol
<zyd> mon_key: well, thats the thing, you wont get a discord client running in emacs
<mon_key> not much has changed apparently :)
<zyd> sadly
<Mondenkind> why'd pjb get banned?
<aeth> 241 days ago is 2023-07-17
<mfiano> It's unfortunate. pjb has a history and the logs speak for themselves. We had a change in management and some other folks left because of the ordeal, so it's not just him not here :(
<aeth> pjb has said controversial things before... he got banned from the off-topic #lispcafe years ago, back when it was on Freenode, iirc.
ymir has joined #commonlisp
<aeth> this in the logs? the bot doesn't show the actual +b. https://irclog.tymoon.eu/libera/%23commonlisp?from=1689603558
<aeth> also, missing the actual context
<aeth> but it's probably best to avoid digging to deeply into internet drama because it's not a good use of time
<mon_key> haha, there's definitely been some minor drama. Was reading the common-lisp reddit yesterday about some weird vibes around ASDF3 and SBCL.
<mon_key> :)
<mon_key> sorry.
<mfiano> Agreed
<bjorkintosh> the (hur(h of lambda] inspires passion!
msavoritias has quit [Remote host closed the connection]
<alcor> Not interested in drama but what's wrong with ASDF3?
<aeth> have you read the source code of ASDF, or tried to, anyway? it's a really weird only-used-in-it style and I can understand why it would be controversial just in itself
<alcor> I mean, it works.
<zyd> would the source code style matter to most people? you just use the public-facing tool
<alcor> There isn't really a unified CL style anyway. Every other large(ish) project has its own set of idiosyncrasies.
<aeth> it has all of the "but what code is actually running?" issues that people have with certain kinds of OOP
<zyd> oh
<Lycurgus> the forced conformity of code styles is oddly discordant with the lisp philosophy
<yitzi> Its bloated.
<aeth> in theory, the highly abstract nature of ASDF means you can extend it to do anything, but in practice, it's very hard to get an understanding of what it's doing
<zyd> a code style cant be forced lol..
<Lycurgus> more like some corporate thing but maybe it's the academic cousin of the corporate shop
<Lycurgus> code reviews and other bullshit
<bjorkintosh> cargo cult styling.
<alcor> ASDF is special in the sense that it is written for maximum portability and extensiblity, because it needs to support 15 CL compilers. Not many CL projects have this kind of constraint.
<zyd> If you work on a project with people inevitably there's gonna be a certain style to the code base and contributors are expected to respect that style. Would think that isn't at odds with any language, Lisp included. Or is there a different criticism being offered?
<aeth> alcor: that's with-upgradability and UIOP, though
<yitzi> None of those reasons justify a bloated, slow and obscure code base.
<aeth> the complexity for ASDF comes from its extensibility model
<zyd> yitzi: For sure.
ymir has quit [Ping timeout: 255 seconds]
<ixelp> asdf / asdf · GitLab
<aeth> most things are method on an operation
<aeth> which... kind of makes it like an explicit continuation passing style or something? I'm not sure how I'd describe it. I couldn't really grok it when I tried to extend it.
<mon_key> Well having only used ASDF1 and 2 long ago, I was surprised to find how much ASDF3 had become essentially glue to approximate C's Make for CL.
<ixelp> operate.lisp · master · asdf / asdf · GitLab
<mon_key> It's come a long way, and some off the wizardry i had to do to to get stuff loaded is no longer required.
<mon_key> Works well for the most part... uiop seems like a great addition overall.
<Lycurgus> it went thru a mid life crisis and then came roaring back (asdf)
<alcor> It does read like a dependency-based workflow-engine taskrunner thingy, even using some of the relevant terminology (plan, operation, action, …)
<Lycurgus> it's tough when everybody wants to eat ur lunch and replace u with their shiny new scheme
jfloren has quit [Quit: Ping timeout (120 seconds)]
jfloren has joined #commonlisp
monospod has quit [Quit: Konversation terminated!]
<aeth> alcor: so can it compete with k8s?
<alcor> aeth: well, stuff that fits that description can compete with basically everything.
<aeth> I'm glad I got the right impression of ASDF, then, that it's incredibly abstract.
<aeth> Build systems are inherently complicated, though, so maybe it needs to be.
<younder> uiop I appreciate. The op stuff I've hardly ever used so far..
<younder> I guess cl-project creates a op for testing
<younder> :perform (test-op (op c) (symbol-call :rove :run c))
<younder> aeth perhaps you can start by figuring out how that works..
shka has quit [Ping timeout: 264 seconds]
tyson2 has quit [Remote host closed the connection]
<alcor> symbol-call is from uiop, so this is like (rove:run c), where c is a, um, package symbol (probably?). 🤷.
<younder> a rove test so you can specify a single test or a range of test or all of them
<aeth> I mean, glass houses and all. I write very large macros. Just a very different kind of overly abstract than ASDF's.
pfdietz has joined #commonlisp
<aeth> Though that's personally how I'd approach writing something like ASDF
<aeth> there is, effectively, a 0% chance that anyone else can read my code
szkl has quit [Quit: Connection closed for inactivity]
FragmentedCurve has quit [Quit: Leaving]
<younder> Eitaro Fukamachi seems to have figured it out. So use the source.. https://github.com/fukamachi Specs are just long lists stuff. I can never see how it was intended to be used.
<ixelp> fukamachi (Eitaro Fukamachi) · GitHub
jonatack has quit [Ping timeout: 256 seconds]
jjnkn has quit [Quit: leaving]
mgl has joined #commonlisp
mon_key has quit [Ping timeout: 260 seconds]
pfdietz has quit [Quit: Client closed]
wacki has quit [Read error: Connection reset by peer]
wacki has joined #commonlisp
szkl has joined #commonlisp
mon_key has joined #commonlisp
mon_key has quit [Ping timeout: 260 seconds]
yitzi has quit [Ping timeout: 256 seconds]
yitzi has joined #commonlisp
mon_key has joined #commonlisp
mon_key has quit [Remote host closed the connection]
mon_key has joined #commonlisp
mon_key has quit [Remote host closed the connection]
mon_key has joined #commonlisp
mon_key has quit [Ping timeout: 260 seconds]
mon_key has joined #commonlisp
traidare has quit [Ping timeout: 246 seconds]
rogersm_ has joined #commonlisp
mon_key has quit [Remote host closed the connection]
mon_key has joined #commonlisp
yitzi has quit [Remote host closed the connection]
mon_key has quit [Ping timeout: 260 seconds]
mgl has quit [Ping timeout: 272 seconds]
skeemer has joined #commonlisp
Alfr is now known as Guest917
Guest917 has quit [Killed (molybdenum.libera.chat (Nickname regained by services))]
Alfr has joined #commonlisp
amb007 has quit [Ping timeout: 256 seconds]
akoana has joined #commonlisp
rogersm_ has quit [Remote host closed the connection]
alcor has quit [Remote host closed the connection]
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
reb has quit [Remote host closed the connection]
reb has joined #commonlisp
<younder> beach found a program that generated the entire x86 instruction set to XML. I will adapt it for cluster.
attila_lendvai has quit [Ping timeout: 256 seconds]
<ixelp> GitHub - intelxed/xed: x86 encoder decoder
chomwitt has quit [Quit: WeeChat 3.8]
nij- has joined #commonlisp
attila_lendvai has joined #commonlisp
amb007 has joined #commonlisp
pve has quit [Quit: leaving]
amb007 has quit [Ping timeout: 260 seconds]
nij- has quit [Killed (NickServ (GHOST command used by nij_))]
nij_ has joined #commonlisp
nij_ is now known as nij-
attila_lendvai has quit [Ping timeout: 256 seconds]
mon_key has joined #commonlisp
amb007 has joined #commonlisp
cage has quit [Quit: rcirc on GNU Emacs 29.2]
iNomad has quit [Quit: leaving]
nij- has quit [Ping timeout: 252 seconds]
kevingal has quit [Ping timeout: 264 seconds]
nij- has joined #commonlisp
ymir has joined #commonlisp
szkl has quit [Quit: Connection closed for inactivity]
ronald has quit [Ping timeout: 268 seconds]
waleee has quit [Ping timeout: 256 seconds]
ronald has joined #commonlisp
rgherdt has quit [Ping timeout: 256 seconds]
rgherdt has joined #commonlisp
nij- has quit [Ping timeout: 240 seconds]
jonatack has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
rgherdt has quit [Quit: Leaving]
tyson2 has joined #commonlisp
dino_tutter has quit [Ping timeout: 264 seconds]
ymir has quit [Ping timeout: 260 seconds]