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/>
jonatack has quit [Ping timeout: 248 seconds]
jonatack has joined #commonlisp
jonatack has quit [Ping timeout: 252 seconds]
supercode has quit [Quit: Client closed]
Guest71 has joined #commonlisp
Guest71 has quit [Client Quit]
jonatack has joined #commonlisp
<paulapatience> I'd like to like CLPM but I had trouble using it on OpenBSD. It wouldn't compile into a program, so I had to use it as a script, and it was unbearably slow to load each time.
<paulapatience> Unfortunately development on it has stalled a bit
jonatack has quit [Ping timeout: 248 seconds]
kevingal has quit [Ping timeout: 248 seconds]
jonatack has joined #commonlisp
<tux0r> hand-coded scripts for me..
<tux0r> the state of CL helpers is sad, to say the least
jonatack has quit [Ping timeout: 252 seconds]
MetaYan has quit [Ping timeout: 245 seconds]
amb007 has joined #commonlisp
amb007 has quit [Ping timeout: 244 seconds]
jonatack has joined #commonlisp
shawnw has quit [Remote host closed the connection]
theruran has joined #commonlisp
jonatack has quit [Ping timeout: 252 seconds]
MetaYan has joined #commonlisp
Akbar-Birbal has joined #commonlisp
jonatack has joined #commonlisp
random-nick has quit [Ping timeout: 272 seconds]
amb007 has joined #commonlisp
jonatack has quit [Ping timeout: 252 seconds]
qhong has quit [Remote host closed the connection]
jonatack has joined #commonlisp
Guest14 has joined #commonlisp
jonatack has quit [Ping timeout: 260 seconds]
Akbar-Birbal has left #commonlisp [#commonlisp]
Akbar-Birbal has joined #commonlisp
shawnw has joined #commonlisp
amb007 has quit [Ping timeout: 265 seconds]
jonatack has joined #commonlisp
Guest14 has quit [Quit: Client closed]
Guest64 has joined #commonlisp
Guest64 has quit [Client Quit]
jonatack has quit [Ping timeout: 246 seconds]
<paulapatience> The default value of a slot in defclass is called initform. What would be a good name for the default value of an initarg, specified in :default-initargs? Initval?
jonatack has joined #commonlisp
jonatack has quit [Ping timeout: 244 seconds]
mzan has joined #commonlisp
jonatack has joined #commonlisp
jonatack has quit [Ping timeout: 265 seconds]
jonatack has joined #commonlisp
jonatack has quit [Ping timeout: 252 seconds]
<elderK> paulapatience: default-initarg sounds good to me :P
jonatack has joined #commonlisp
<elderK> Why do you need a default specified in the default-initargs when you can have it in the initform? Is there a difference in when they are evaluated?
<pranav> elderK: Yes, initforms are evaluated at a later stage.
<paulapatience> elderK: default initargs are almost always better
<ixelp> CS325 Graham Chapter 11 Notes
<elderK> Thanks paulapatience!
<elderK> Nice site, paulapatience.
meaty has quit [Ping timeout: 252 seconds]
<elderK> Is this from PG's ANSI Common Lisp?
<paulapatience> I have no idea. I found the link originally from one of Xach's tips that said about the same thing, and which I cannot find anymore.
<pranav> elderK: It's a course page by Chris Riesbeck
<pranav> Notes are from PG's book, yes.
<beach> The code on that page has lousy indentation.
<beach> And this is by a teacher of Common Lisp. Oh, well!
amb007 has joined #commonlisp
Alfr has quit [Quit: Leaving]
amb007 has quit [Ping timeout: 248 seconds]
Lord_of_Life has quit [Ping timeout: 252 seconds]
Lord_of_Life has joined #commonlisp
amb007 has joined #commonlisp
jonatack has quit [Ping timeout: 252 seconds]
synchromesh has joined #commonlisp
amb007 has quit [Ping timeout: 246 seconds]
Alfr has joined #commonlisp
lucasta has quit [Quit: Leaving]
jonatack has joined #commonlisp
rtypo has quit [Ping timeout: 248 seconds]
jonatack has quit [Ping timeout: 252 seconds]
elderK has quit [Quit: WeeChat 4.4.2]
jonatack has joined #commonlisp
chomwitt has joined #commonlisp
wacki has joined #commonlisp
Pixel_Outlaw has quit [Quit: Leaving]
awlygj has joined #commonlisp
amb007 has joined #commonlisp
amb007 has quit [Ping timeout: 260 seconds]
amb007 has joined #commonlisp
chomwitt has quit [Quit: WeeChat 3.8]
theruran has quit [Quit: Connection closed for inactivity]
treflip has joined #commonlisp
amb007 has quit [Ping timeout: 272 seconds]
pve has joined #commonlisp
amb007 has joined #commonlisp
decweb has quit [Ping timeout: 276 seconds]
shka has joined #commonlisp
FragmentedCurve has quit [Remote host closed the connection]
m3tti has quit [Ping timeout: 276 seconds]
awlygj has quit [Ping timeout: 260 seconds]
AetherWind has joined #commonlisp
m3tti has joined #commonlisp
King_julian has joined #commonlisp
treflip` has joined #commonlisp
treflip has quit [Ping timeout: 248 seconds]
johnjaye has quit [Ping timeout: 260 seconds]
johnjaye has joined #commonlisp
treflip`` has joined #commonlisp
treflip` has quit [Ping timeout: 272 seconds]
mgl has joined #commonlisp
Th30n has joined #commonlisp
shka has quit [Ping timeout: 276 seconds]
shka has joined #commonlisp
shka has quit [Quit: Konversation terminated!]
shka has joined #commonlisp
shka has quit [Remote host closed the connection]
even4void has quit [Quit: leaving]
shka has joined #commonlisp
shka has quit [Remote host closed the connection]
treflip`` has quit [Quit: Quit]
shka has joined #commonlisp
treflip has joined #commonlisp
shka has quit [Remote host closed the connection]
shka has joined #commonlisp
X-Scale has quit [Quit: Client closed]
attila_lendvai_ has joined #commonlisp
heisig has joined #commonlisp
treflip` has joined #commonlisp
treflip has quit [Ping timeout: 260 seconds]
Posterdati has quit [Read error: Connection reset by peer]
King_julian has quit [Ping timeout: 252 seconds]
treflip` has quit [Quit: Quit]
King_julian has joined #commonlisp
treflip has joined #commonlisp
Posterdati has joined #commonlisp
even4void has joined #commonlisp
mi6x3m has joined #commonlisp
<mi6x3m> hey doe sanyone know how to ge tthe pid of a process structure?
<mi6x3m> from sb-ext:run-program that is
<jackdaniel> sb-ext:process-pid
<jackdaniel> in situation like this the function apropos is quite useful
<jackdaniel> (apropos '-pid)
rainthree has joined #commonlisp
<mi6x3m> thanks jackdaniel !
attila_lendvai_ has quit [Ping timeout: 276 seconds]
puke has quit [Ping timeout: 248 seconds]
puke has joined #commonlisp
attila_lendvai_ has joined #commonlisp
mi6x3m has quit [Remote host closed the connection]
rainthree has quit [Ping timeout: 276 seconds]
attila_lendvai_ is now known as attila_lendvai
boigahs has joined #commonlisp
varjag has joined #commonlisp
wacki has quit [Ping timeout: 260 seconds]
Posterdati has quit [Ping timeout: 265 seconds]
wacki has joined #commonlisp
wacki has quit [Ping timeout: 260 seconds]
wacki_ has joined #commonlisp
Posterdati has joined #commonlisp
JuanDaugherty has joined #commonlisp
wacki has joined #commonlisp
Lord_of_Life has quit [Read error: Connection reset by peer]
Lord_of_Life_ has joined #commonlisp
wacki_ has quit [Ping timeout: 260 seconds]
Lord_of_Life_ is now known as Lord_of_Life
Lord_of_Life has quit [Client Quit]
<jackdaniel> sure
Lord_of_Life has joined #commonlisp
Perflosopher has quit [Read error: Connection reset by peer]
ingeniot has joined #commonlisp
Perflosopher has joined #commonlisp
Lord_of_Life has quit [Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine]
Lord_of_Life has joined #commonlisp
rainthree has joined #commonlisp
X-Scale has joined #commonlisp
meaty has joined #commonlisp
random-nick has joined #commonlisp
ingeniot has quit [Ping timeout: 256 seconds]
meaty has quit [Ping timeout: 276 seconds]
mgl has quit [Ping timeout: 248 seconds]
rtypo has joined #commonlisp
mwnaylor has quit [Ping timeout: 276 seconds]
lucerne has joined #commonlisp
wacki has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
King_julian has quit [Ping timeout: 265 seconds]
amb007 has quit [Ping timeout: 260 seconds]
amb007 has joined #commonlisp
pranav has quit [Remote host closed the connection]
wacki has joined #commonlisp
puke has quit [Quit: WeeChat 3.8]
edgar-rft` has joined #commonlisp
edgar-rft_ has quit [Ping timeout: 248 seconds]
puke has joined #commonlisp
incesguest has joined #commonlisp
incesguest has quit [Changing host]
incesguest has joined #commonlisp
donleo has joined #commonlisp
scymtym has quit [Quit: Application exit]
mgl has joined #commonlisp
incesguest has left #commonlisp [#commonlisp]
scymtym has joined #commonlisp
Guest64 has joined #commonlisp
King_julian has joined #commonlisp
donleo has quit [Ping timeout: 260 seconds]
pranav has joined #commonlisp
puke has quit [Ping timeout: 276 seconds]
mgl has quit [Ping timeout: 272 seconds]
puke has joined #commonlisp
prokhor has joined #commonlisp
Lord_of_Life has quit [Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine]
Lord_of_Life has joined #commonlisp
mgl has joined #commonlisp
mgl has quit [Ping timeout: 265 seconds]
heisig_ has joined #commonlisp
heisig has quit [Ping timeout: 248 seconds]
heisig__ has joined #commonlisp
heisig_ has quit [Ping timeout: 252 seconds]
decweb has joined #commonlisp
heisig_ has joined #commonlisp
heisig_ has quit [Remote host closed the connection]
heisig__ has quit [Ping timeout: 260 seconds]
JuanDaugherty has quit [Quit: JuanDaugherty]
Guest64 has quit [Quit: Client closed]
dnhester26 has joined #commonlisp
triffid has quit [Remote host closed the connection]
dnhester26 has quit [Remote host closed the connection]
edgar-rft` is now known as edgar-rft
dnhester26 has joined #commonlisp
triffid has joined #commonlisp
dnhester26 has quit []
dnhester26 has joined #commonlisp
<dnhester26> antoszka: qlot is quite useful, it uses quicklisp, and you can also just use a git repository and other sources as well, and it keeps the state of the system in a file, so that you can replicate it somewhere else
<dnhester26> antoszka: also, you can use a different quicklisp distribution like ultralisp, which is updated more often
<dnhester26> even Shinmera or shirakumo has their own distribution in quicklisp, so you can use quicklisp and get more recent systems by adding distributions
rainthree has quit [Read error: Connection reset by peer]
<ixelp> shirakumo Distribution Index
<antoszka> dnhester26: yeah, thanks, I forget about the alternative QL distros
<dnhester26> btw Shinmera is there any difference in using your systems from the quicklisp distribution instead of directly from the repository in github?
<Shinmera> the dist is not always updated and my github repos sometimes aren't buildable
<Shinmera> I update the dist whenever there's a fix I consider important
King_julian has quit [Ping timeout: 252 seconds]
<Shinmera> so I recommend using it, especially because people have a habit of *not* keeping their git clones up to date with upstream
synchromesh has quit [Read error: Connection reset by peer]
gorignak has quit [Quit: quit]
shawnw has quit [Ping timeout: 246 seconds]
gorignak has joined #commonlisp
synchromesh has joined #commonlisp
<dnhester26> thanks for the reply. We'll since I use qlot it would basically amount to the same thing since it just freezes the version it saves unless I manually do upgrade to avoid breaking changes
lucasta has joined #commonlisp
<dnhester26> good to know about the buildable though, I will probably migrate into the dist version
<Shinmera> you'd still have to figure out which commit to update to
<dnhester26> btw, how do I specify in quicklisp to download from shirakumo instead of the default dist? I'm assuming the way the dists work is that it just looks for more sources, not replaces where to look for them, which would mean that it would find multiple results for the same system
<Shinmera> when you add a dist it assigns it a unique priority number
<Shinmera> whichever has the system and the higher number takes precedence
<dnhester26> can anyone recommend me a good book on parallel programming and concurrency? I didn't take the course in college and I've always felt that I'm missing some basic knowledge. I use threads here and there and it's never really been an issue, but I would at least like to formally learn the main issues and solutions
<dnhester26> Shinmera: thanks, so it's about changing that priority number
<dnhester26> what's the best way to get a `t` value if something would evaluate to t, instead of say ,(null (null "hello"))
<ixelp> (null (null "hello")) => T
<Shinmera> (not (null x))
<dnhester26> thanks, so there's no direct function
<dnhester26> oh, I wrote null twice, I mean not null, thanks for the fix
<Shinmera> I pretty much never care to return an actual boolean instead of a generalised boolean, myself
<dnhester26> right, I am returning something to a web client and was thinking of avoiding protecting data that shouldn't be revealed, I just wanted a found or not found without returning the value if found
<Shinmera> ah
<yottabyte> coming from Java, one thing I don't like is when I have a package I have to explicitly export my public functions, so I have to copy the name and go back to the top where I've defined the package and it with #: and so on. but even if I don't do that, it appears I can just call it by my-package::my-function-that's-not-exported. but in Java, you just put "public" in front of the method you want to expose to the outside
<yottabyte> I'm sure I can probably write some macro or something to "decorate" functions I want automatically exported publicly, but yeah...
<yottabyte> and then I have to go back to where I was in the file which I also find cumbersome
<Shinmera> having to explicitly list your interface is good, actually.
<yottabyte> but if you can just ::, what's the point?
<Shinmera> :: tells you that you're doing something naughty
<Colleen> Unknown command. Possible matches: 8, tell, hello, roll, help, set, say, mop, get, tell to,
<Shinmera> programming is more about communicating with the human than the computer, you know?
<yottabyte> true...
<yottabyte> do you use emacs, Shinmera?
<Shinmera> begrudgingly, yes
<yottabyte> when you go to the top to add an export definition, how do you go back to where you were? do you just remember the line number and go to the line, or is there a shortcut to bring me back to where I was?
<Shinmera> I code my stuff first and when I'm done I go through the files and keep the package open in another window to add the stuff I want to export in.
<Shinmera> I don't know about shortcuts or anything, it takes almost no time to do this compared to actually writing the software
<Shinmera> And I frequently realise I want to adjust a name or something, so it gives me some time to ponder
benjaminl has quit [Ping timeout: 252 seconds]
benjaminl has joined #commonlisp
<dnhester26> yottabyte: https://github.com/m2ym/cl-syntax there's a newer one somewhere, but don't remember where
<ixelp> GitHub - m2ym/cl-syntax: Reader Syntax Coventions for Common Lisp and SLIME
<dnhester26> it has @export
<dnhester26> actually, in CL you can just wrap whatever you want with (export ) *I think*
<beach> yottabyte: C-x r <space> a for instance. And then C-x r j a to go back.
<dnhester26> yottabyte: https://github.com/m2ym/cl-annot sorry that was the wrong link before
<ixelp> GitHub - m2ym/cl-annot: Python-like Annotation Syntax for Common Lisp
<Shinmera> cl-annot is Bad
<dnhester26> bookmarks!!! thank you beach that was the feature I've been looking for all this time, should've just google it hahaha
<Shinmera> It breaks source analysing pretty terribly
<dnhester26> Shinmera: I don't know much about it, I've just seen it used in projects
<Shinmera> besides just committing the age-old sin of trying to pretend like lisp is another language it isn't
<beach> Oh, yeah, cl-annot looks bad.
<beach> Isn't fukamachi also the one who created cl-21 or whatever it was called?
dnhester26 has quit [Remote host closed the connection]
<beach> Oh, wait, Fukamachi didn't make cl-annot it seems. Just contributed.
<Shinmera> He used to use it in his projects in the past
<beach> I see.
<beach> Speaking of which, we haven't seen him lately. He came to ELS once. Marbella was it?
dnhester26 has joined #commonlisp
<dnhester26> beach: yeah, was that not a goot attempt?
<beach> dnhester26: CL21? No, I think it was completely misguided.
<dnhester26> beach: do you have thoughts on what would be good changes that can be added as a package? or at this stage it doesn't matter because we rely on emacs to tell us what the arguments for a function are anyways so we don't actually have to remember?
<dnhester26> btw I saw your SICL presentation in the lisp symposium. Keep up the good work! I'm excited to try it out when you publish it
<beach> dnhester26: I am not sure what it is that you would like to see? I am with Shinmera in that I use Emacs "begrudgingly", and we need much better tools, but I don't see any changes to the language as needed.
<beach> dnhester26: Thanks!
<beach> dnhester26: Though people should not fixate on SICL the Common Lisp implementation. We have already created many (20 or more?) libraries that implement parts of the standard and other libraries to help with implementation.
<dnhester26> beach: oh, from what I remember it was about some accessors not being consistent and some functions that have the same arguments have them in different order and things like that
<Shinmera> the far more important thing is that other people can read your code
<Shinmera> and the easiest way to ensure that is to use the standard library
<Shinmera> I don't know cl21, so I'd have to learn it to read code using it instead of cl
<dnhester26> beach: right, I remembered you mentioned that you were making a bunch of things work according to the spec that implementations not always got right, so it would seem that because of it being in CL it will lead to implementations hopefully using parts of it to conform better with the spec, and I think I also remember you mentioning something about it being less buggy since it was done in CL, and some things were faster? my memory is
<dnhester26> not very good though, so I apologize if I am remembering incorrectly
<beach> dnhester26: I don't think I have made suggestions to alter the language. The WSCL project is meant to specify parts of the standard that are currently unspecified, provided that most Common Lisp implementations agree on the desired specification.
<dnhester26> Shinmera: I think the changes are not many, he started it but I think he abandoned it. Here's the motivation I just found "You use different functions to do the same thing to different data types (elt, aref, nth). You have long names for commonly used macros (destructuring-bind, multiple-value-bind). There is no consistency in argument order (getf and gethash). To put it simply, the language is time-consuming to learn."
lucasta has quit [Remote host closed the connection]
<dnhester26> beach: oh sory, I was talking about SICL there, not about altering the language. That was the original question I had, if you think any style changes would be useful, or probably not just to keep everything standard
<beach> Oh, I see. There are many people who think that Common Lisp is not used as much as it deserves because it is hard to learn, and the fix they see is to change the language so that it is easier to learn. I have news for them. The reason Common Lisp is underused has nothing to do with that.
<beach> dnhester26: Sure, I want the SICL-related libraries and the SICL Common Lisp implementation to be higher quality that what we currently have. And we created several innovations that we hope will make the result fast.
<dnhester26> the more time I've spent using it, the more I love it, I really don't understand why people don't use it more. The argument that corporate developers need static typing and handcuffs to keep them from being too creative doesn't hold it's ground when we consider startups.
<Shinmera> dnhester26: it doesn't matter
<boigahs> I hate the "dont use any libraries or macros or else random strangers can't read your program" argumenr
<Shinmera> if you don't care about anyone reading your code then you can do whatever you want, of course
<boigahs> They are not going to understand it without a little effort regardless, unless the program is trivial
<Shinmera> I *do* want people to read my code, so I *do* care
<beach> boigahs: I don't think anybody is arguing that. But there is a strong argument against using a library that does not add any functionality, and only alters the language being used.
varjag has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3)]
<Shinmera> boigahs: the point is this: most people know cl, but not cl21. So most people will need more effort to read the code that they could otherwise read without extra effort.
<Alfr> Shinmera, hehe ... so, no pulling a dwim.hu?
<Shinmera> I'm not familiar with the dwim.hu ecosystem, so I can't comment on that
<Shinmera> Anyway, I think ultimately cl21 fails at what it sets out to do: make the language easier to learn. And it fails at that because people need to learn the crufty parts of cl anyway if they ever want to read anything else. And they're going to have to, because all other resources are written like that.
<Shinmera> We're stuck in a tarpit
<Alfr> For CL being rather small for a standards document, admittedly we're missing some things, I don't think the crufty parts are the problem.
<beach> Alfr: What are we missing?
<Alfr> Memory semantics for threads.
reb has quit [Remote host closed the connection]
<beach> bike is working on that.
zxcvz has joined #commonlisp
<Alfr> (I'm not saying that it doesn't work; as we have implementations that seem to do some right thing™.)
<beach> Alfr: But people use languages without any standard at all every day. So not everything has to be in the standard. We are lucky that such a large part of a usable language is standardized.
<scymtym> some functions that do not accept an environment probably should accept one. as gilberth frequently mentions, binary streams lack some of the features of character streams. to name a few random ones
<Alfr> beach, indeed.
zxcvz has quit [Client Quit]
<beach> scymtym: I agree with that, and those are minor changes that would even be backwards compatible in most cases.
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
<jackdaniel> I have a deja vu reading this discussion :)
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
<jackdaniel> I think that fukamachiware is a proof, that if you produce software that solves a problem, people will bother to read it -- even if it is not to their liking
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Read error: Connection reset by peer]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
nani has quit [Ping timeout: 272 seconds]
Lord_of_Life has quit [Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine]
Lord_of_Life has joined #commonlisp
NotThatRPG has quit [Remote host closed the connection]
AetherWind has quit [Quit: leaving]
nani has joined #commonlisp
NotThatRPG has joined #commonlisp
dnhester26 has joined #commonlisp
<yottabyte> part of me likes doing things the hard way, so I enjoy learning and writing cl, but I do think e.g. Clojure feels better to write from a developer experience perspective, beach
<yottabyte> it just seems more thought out... but I could be very misguided in that thought. CL supporting decades of old code and its backwards compatibility is probably well thought out as well, but that comes at a real cost
NotThatRPG has quit [Ping timeout: 255 seconds]
<dnhester26> beach: so why are not more people using common lisp? not wanting to change anything here, I am very happy using it. at this point i'm just curious about your thoughts
triffid has quit [Remote host closed the connection]
<yottabyte> I thought cl21 was a neat idea, I've never used it, but I'm all for abstracting and simplifying things
<beach> dnhester26: I think it is fairly simple. It is not taught in "modern" university teaching programs.
<beach> dnhester26: And the professors are previous generation students, so they have not been taught it either.
<yottabyte> well, idk how often javascript is commonly taught either. it might be changing now, but I don't think javascripts popularity came from academia, is what I'm trying to say
shawnw has joined #commonlisp
<beach> yottabyte: Sure, if Common Lisp would be the preferred browser language, it would not have to be taught at the university.
<yottabyte> same with python, even. I think python got popular and now schools are starting to teach it. historically it has always been C, C++, Java, from what I saw
<kanuba> I was taught Python and Perl about 20 years ago in uni
<kanuba> (along with VB, but let's ignore that)
<beach> Yes, that's the very problem. University professors teach what is already popular elsewhere, rather than using knowledge (that they don't possess) to choose a language for its intrinsic qualities.
<beach> So universities are failing at their mission which is to be at the forefront of knowledge. And instead they have misunderstood their mission to be to supply manpower to industry.
<beach> Well, that's in fact exaggerated. Professors don't possess the required knowledge, so they do the only thing they know, which is to mimic what others do.
<yottabyte> I would hope every professor would be an expert in cl (:
<beach> They wouldn't have to be experts, but they definitely should have some working knowledge of it in order to qualify as teachers of programming and programming languages. But they don't.
<dnhester26> beach: oh, you just summarized that beautifully. It was very painful to read the announcement of MIT dropping scheme for their intro in favor of python because they said modern programming is not about developing beautiful programs but rather stitching together a bunch of things and leveraging other people's code, and python just has a large ecosystem. They basically are saying, we need to just produce people who can work, not scient
<dnhester26> ists. at uni, Georgia Tech, they always joked that we were trained to be scientists and magically expected to work as engineers
<beach> Sounds about right.
<attila_lendvai> Alfr, i'm here to defend the dwim.hu stuff... :) the syntax we introduced are mostly straightforward, just increasing readability. and compared to the size of the codebase, it's a trivial obstacle.
<dnhester26> but yeah, I agree with the points brought up yottabyte I think python became popular first and then taught. I didn't learn it in school, but for some classes in AI which were language agnostic I just started doing something as a scratch test and it was just so much faster to develop in it and easier that I never moved on to java and just finished it with python... I think there is something to say about how easy something is to pick
<dnhester26> up in terms of popularity. if CL were somehow easier to pick up for beginners at least to the basic level of doing things in python, I think the popularity would jump. I wonder if what makes it so difficult for people is prefix notation. On the other hand, I've read so many accounts of people saying that scheme was very easy to learn that I wonder if it was just the teaching materials or something in particular about scheme that made
<dnhester26> it easier than CL
<attila_lendvai> dnhester26, it's not so long ago that the baseline memory footprint of cl is not relevant anymore
<yottabyte> I actually don't think it's the prefix notation. I think the tooling might be the biggest issue, honestly
<Alfr> attila_lendvai, it's fine after getting used to it.
<dnhester26> attila_lendvai: what is thw dwim.hu stuff? I just tried going to their website and repos, the readme files don't seem very useful
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
<owen> wym, CL has the best tooling of anything I have used by a mile
dnhester26 has quit [Remote host closed the connection]
<attila_lendvai> another thing that hinders CL's popularity is the personality types that ended up becoming CL experts in the environment of the past decades... what comes to mind is my struggle with Helmut, the Slime maintainer a decade ago...
<owen> much better than scheme
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
<beach> What owen says is common, so I don't think the tooling is the problem. I don't agree with it, but that's a different story.
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
<attila_lendvai> dnhester26, it's slowly bitrotting. the dwim.hu site once had a webapp written in the hu.dwim.* lib ecosystem we worked on (4 hungarian guys doing the usual enterprise bullshit, but in CL). it was about a decade ago now.
<yottabyte> idk, the amount of setup I had to do on emacs to get it up and running...
dnhester26 has quit [Remote host closed the connection]
<beach> And, again, I don't think it is that the language is harder than any other language to learn.
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
<attila_lendvai> yottabyte, yeah, CL is pretty useless without slime (emacs), which is a strong filter right at the very first step.
<beach> In fact, Common Lisp semantics are way simpler that those of other languages.
dnhester26 has joined #commonlisp
<owen> I guess the fact that you *have* to learn emacs is the biggest issue, as attila just said
dnhester26 has quit [Remote host closed the connection]
<attila_lendvai> owen, yep. but the learning curve is steep...
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
yitzi has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
<attila_lendvai> and the community (used to have) an attitude that... well... how shall i put it... required a thick skin to stick around as a beginner...
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
<attila_lendvai> e.g. i had to argue for years to make UTF-8 the default...
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
<yottabyte> I've found the community very welcoming now, but I think a lot of people are tunnel visioned with how long it took them to become productive and become proficient with the tooling
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
<yottabyte> anyone can start typing away in javascript and python with the lsps built in to common editors
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
<yottabyte> emacs doesn't even give you file tree view by default
<attila_lendvai> a lot has changed... i think CL used to be dominated by the GNU kind of guys, but with the internet some new blood has diluted that attitude
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
<attila_lendvai> dnhester26, i forgot to add that i'm one of those 4 dwim.hu guys
<attila_lendvai> yottabyte, emacs comes from an era that wasn't yet domanited by microsoft... and doesn't have a lot of the expectations that became common with m$ conquering IT
<owen> filetrees suck anyway, but I think someone who uses emacs for C or other langs wouldn't have an issue getting productive in CL quickly, besides learning metaprogramming
<owen> just open sly/slime, load-system, and hit C-c C-c
<attila_lendvai> ohh, the nostalgia... we used to do stuff like using CL expressions as in the authorization system, and used partial-eval to optimize it. and writing continuations into the SQL db in our business process modelling framework...
<yottabyte> I don't even know what load-system is. I just ql:quickload
<owen> compare that to figuring out how to use python venvs and configuring the LSP
* attila_lendvai has looked at the dwim.hu repos
<owen> yottabyte asdf:load-system, I do mostly just use quickload though
<attila_lendvai> sadly, there's a lot of value in the dwim.hu ecosystem lying there unemployed...
<yitzi> I find the statement "CL is pretty useless without slime" to be completely untrue. I have done plently of CL programming without Emacs.
shawnw has quit [Ping timeout: 252 seconds]
<random-nick> and slime is only 21 years old
st-r-ts has joined #commonlisp
skeemer has joined #commonlisp
dnhester26 has joined #commonlisp
NotThatRPG has joined #commonlisp
drasken has joined #commonlisp
mgl has joined #commonlisp
<contrapunctus> owen, attila_lendvai and others: The problem of "must use Emacs to work with Common Lisp" has to be solved by improving support in other editors and IDEs...but I've been working on an Emacs configuration with keybindings, behaviour, and appearance as close to existing IDEs as possible. https://codeberg.org/IDEmacs/IDEmacs
<ixelp> IDEmacs/IDEmacs: Making Emacs beginner-friendly, via configurations that emulate mainstream IDEs - Codeberg.org
<attila_lendvai> yitzi, fair enough. `useless` was too strong a word. it's not useless, but without slime the experience is way much worse (unless i'm not aware of something new)
<contrapunctus> I haven't worked on it lately because there hasn't been much enthusiasm for it. I hope I can integrate it into Shinmera's Portacle some day, so it's just one binary with SLIME, Paredit, SBCL, Git, etc...hopefully making it easier for Windows users and first-time programmers, hopefully.
<contrapunctus> s/, hopefully//
<Shinmera> honestly the portacle emacs config can probably be thrown away almost entirely
<Shinmera> but then again so can the rest of the project given it hasn't been maintained in years lol
triffid has joined #commonlisp
<attila_lendvai> i'm torn about reconfiguring emacs. i've done quite a lot of it myself, but i'm not sure it's productive mid- or long-term to go all the way to approach the other IDEs...
<contrapunctus> The current main IDEmacs configuration mimics VSCode. Of course, it's a WIP at present.
drewjose has quit [Quit: bye]
drewjose has joined #commonlisp
<dnhester26> attila_lendvai: I'll get in touch probably tomorrow about dwim.hu, I have a few questions that are too long to write now
<dnhester26> contrapunctus: I think paredit is very much not beginner friendly and adds a big barrier to entry for beginners
<dnhester26> just my 2c
<contrapunctus> dnhester26: Yes. I've evaluated different options, ended up using adjust-parens (which is similar to Paredit but easier to install and works even in REPL buffers). IIRC Paredit is not enabled by default in IDEmacs-VSCode. I'm also interested in making gamified interactive tutorials for various bits of Emacs, including Paredit.
<contrapunctus> adjust-parens is similar to * PARINFER, not Paredit
molson_ has joined #commonlisp
<dnhester26> contrapunctus: that looks awesome! I never even heard about it, but had I heard about it I would've definitely have started there. I attempted to start with portacle and emacs but the barrier of entry was just too high and I needed to get things done, so I jumped into vscode with alive. I think it was after countless observations by beach that I really had to develop with emacs that I finally gave up vscode and jumped into emacs and
<dnhester26> have lost probably 3+ weeks time just configuring it.
mgl has quit [Ping timeout: 248 seconds]
molson__ has quit [Ping timeout: 245 seconds]
donleo has joined #commonlisp
<owen> there needs to be a whole new IDE imo, something mouse-friendly like vscode, maybe the clozure IDE solves this but I haven't tried, and I believe it only runs on x86 macs
<owen> I used Lem for a while, it's fun but just as difficult to get into as emacs
<dnhester26> owen: any benefits of lem over emacs besides that they are developing it in CL?
<owen> the main benefits are that it is a small CL codebase, and making new frontends is doable (someone has a CLIM frontend working rn)
<owen> the main drawback is that it is not very good for languages other than CL
<random-nick> what mouse-friendliness is missing from emacs?
<owen> idk i only use mouse to resize windows, but it is not mouse-oriented to the same degree as vscode or java IDEs
<owen> which is what new users expect (i think)
<dnhester26> thanks for the answer, so basically for a user there's yet to be any benefit
puke has quit [Ping timeout: 265 seconds]
<dnhester26> beach: btw, I imagine you are extremely busy with SICL; with that said, what is the state of the CL IDE you once mentioned you wanted to make and for which you made a text editor or buffer? Was it waiting for SICL so that you could integrate into it some of the special features you spoke about then (I don't even remember what they were, just remember they sounded very cool)
puke has joined #commonlisp
<scymtym> dnhester26: beach was probably talking about second climacs. some features of the current state of second climacs are demonstrated in this video: https://scymtym.github.io/content/second-climacs-9.mp4 . it is something like an incremental progresss report, so it does not show everything from scratch
varjag has joined #commonlisp
cage has joined #commonlisp
cage has quit [Excess Flood]
cage has joined #commonlisp
Akbar-Birbal has left #commonlisp [Error from remote client]
<dnhester26> scymtym: thanks for sharing. is there some sort of road map for second climacs? or document explaining expected dates and features?
<scymtym> dnhester26: there are certain things we want to implement most of which revolve around having the editor analyse the code much more deeply than is typical. but there is no roadmap and certainly no dates
josrr has joined #commonlisp
<varjag> was there ever a discussion/interest in a socket level abstraction that is less ad-hoc than usocket?
mountainman1312 has joined #commonlisp
shka has quit [Ping timeout: 245 seconds]
shka has joined #commonlisp
kevingal has joined #commonlisp
<paulapatience> aeth: I've implemented all I need for an initial version of my record library. It just needs some clean up and documentation. I haven't put any equality predicates in, but I have included a record-merging behavior, where the merging style is specified in the define-record's "slots", so that records can be merged automatically.
simendsjo has joined #commonlisp
treflip has quit [Ping timeout: 265 seconds]
mgl has joined #commonlisp
prokhor has quit [Ping timeout: 244 seconds]
prokhor has joined #commonlisp
st-r-ts has left #commonlisp [ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4)]
mwnaylor has joined #commonlisp
shka has quit [Ping timeout: 252 seconds]
attila_lendvai_ has joined #commonlisp
drasken has quit [Ping timeout: 260 seconds]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
attila_lendvai has quit [Ping timeout: 248 seconds]
shka has joined #commonlisp
josrr has quit [Remote host closed the connection]
dnhester26 has quit []
yitzi has quit [Ping timeout: 252 seconds]
yitzi has joined #commonlisp
yitzi has quit [Client Quit]
cage has quit [Quit: rcirc on GNU Emacs 29.4]
kaffcop has joined #commonlisp
kaffcop has quit [Client Quit]
varjag has quit [Ping timeout: 252 seconds]
mgl has quit [Remote host closed the connection]
mgl has joined #commonlisp
skeemer has quit [Ping timeout: 252 seconds]
wacki has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
attila_lendvai_ has quit [Ping timeout: 244 seconds]
supercode has joined #commonlisp
tfeb has joined #commonlisp
pve has quit [Quit: leaving]
NotThatRPG has quit [Ping timeout: 276 seconds]
reb has joined #commonlisp
Krystof has joined #commonlisp
mgl has quit [Ping timeout: 252 seconds]
Guest82 has joined #commonlisp
Guest82 has quit [Client Quit]
tfeb has quit [Quit: died]
NotThatRPG has joined #commonlisp
NotThatRPG has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
mwnaylor has quit [Remote host closed the connection]
mwnaylor has joined #commonlisp
shka has quit [Ping timeout: 252 seconds]
donleo has quit [Ping timeout: 255 seconds]
<kagevf> yottabyte: chiming in belatedly regarding packages - you could do a split with C-x 2 with one split being the top of your file and the other being where you're currently working. Having said that, though, from what I've observed, it's more common to put DEFPACKAGE into a separate file, such as "package.lisp". You could still use the screen split for that too, of course.
troojg has joined #commonlisp
meaty has joined #commonlisp
lagash has quit [Remote host closed the connection]
supercode has quit [Quit: Client closed]
NotThatRPG has joined #commonlisp
kevingal has quit [Ping timeout: 244 seconds]
Demosthe1ex has joined #commonlisp