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/>
meaty has quit [Quit: touch grass]
meaty has joined #commonlisp
meaty has quit [Changing host]
meaty has joined #commonlisp
pkw has quit [Quit: leaving]
lucasta has quit [Remote host closed the connection]
pkw has joined #commonlisp
akoana has joined #commonlisp
jrm has quit [Quit: ciao]
jrm has joined #commonlisp
char has quit [Ping timeout: 272 seconds]
jonatack has quit [Ping timeout: 255 seconds]
jonatack has joined #commonlisp
yitzi has joined #commonlisp
yitzi has quit [Remote host closed the connection]
amb007 has joined #commonlisp
random-nick has quit [Ping timeout: 248 seconds]
amb007 has quit [Ping timeout: 244 seconds]
rtypo has joined #commonlisp
char has joined #commonlisp
Akbar-Birbal has joined #commonlisp
spdegabrielle has quit [Quit: Connection closed for inactivity]
jonatack has quit [Ping timeout: 252 seconds]
pkw has quit [Quit: leaving]
kamafam has joined #commonlisp
akoana has quit [Quit: leaving]
josrr has quit [Remote host closed the connection]
X-Scale has joined #commonlisp
shawnw has joined #commonlisp
char has quit [Remote host closed the connection]
char has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 252 seconds]
Pixel_Outlaw has joined #commonlisp
Lord_of_Life has joined #commonlisp
ryanbw1 has joined #commonlisp
Pixel_Outlaw has quit [Quit: Leaving]
shawnw has quit [Ping timeout: 246 seconds]
decweb has quit [Ping timeout: 260 seconds]
char has quit [Ping timeout: 248 seconds]
jonatack has joined #commonlisp
Noisytoot has quit [Ping timeout: 252 seconds]
Noisytoot has joined #commonlisp
cqst_ has joined #commonlisp
cqst_ has quit [Client Quit]
cqst has quit [Quit: nyaa~]
meaty has quit [Quit: touch grass]
cqst has joined #commonlisp
rainthree has joined #commonlisp
meaty has joined #commonlisp
meaty has quit [Changing host]
meaty has joined #commonlisp
aciep has joined #commonlisp
shawnw has joined #commonlisp
ello has quit [Quit: ZNC 1.9.1 - https://znc.in]
<aciep> Hello everyone. I'm pretty newbie in CL (but pretty experienced Clojure dev) so I have a question. Do you guys really use alists and plists? What I mean many folks on the internet recommend to use CL as a functional language, but CL doesn't really offer suitable data structure for this beside plists and alists. And they also aren't perfect as they offer O(n) performance for most of operations. And I'm aware there're third-party libs
<aciep> like fset and CL is extremly extensible so I can use whatever I want in my own project but if I write library I'd like to use some sort of a standard so it can be picked easier by others. So do you just use p/alists and are happy with the performance, just mutate stuff and doesn't care about functions purity or something else? Thanks
ello has joined #commonlisp
<beach> aciep: Modern Common Lisp uses CLOS a lot, so I don't think it is used as a functional language much.
<rainthree> aciep: I find CLOS objects (standard-objects) easier to work with than with plists
<aeth> aciep: you can use the built-in hash tables and just choose not to add them after creation (which can be done with a macro that ultimately uses SETF GETHASH)
<aeth> or dozens of other ways
<aciep> So do I in my current project and I must admit I really love CLOS so far. Far superior to other OOP systems I know. Thanks
<aeth> aciep: one thing that's fun (and probably incredibly controversial in terms of style) for FP is defining a print-object method that outputs the same syntax as a constructor
<beach> I wonder who those people are who recommend using Common Lisp as a functional language, and why they are not instead recommending something like Haskell.
<aciep> aeth: yes, the problem with hash tables is you need to copy whole hash table each time you want to update it which sometimes is acceptable and sometimes it is not
<aciep> beach: hard to tell now, I think I read it in some places in internet over the years and it stuck in my head. Probably Reddit and stack overflow
<beach> I see.
<beach> aciep: I take it you are considering ways to represent a set, yes? Well, there are so many set representations possible, depending on what operations you want, and I think that is why Common Lisp does not have many of them built in.
<aeth> beach: Between Haskell's syntax and laziness, it's a very unapproachable language to most people. Lisp has one of those (divisive syntax), but only one.
<aeth> There are Schemes that focus far more on FP than Common Lisp tends to, probably because Lisp-1 makes higher order functions more syntactically convenient (at the cost of some other things, like making non-hygienic macros very inconvenient... it's a tradeoff)
<beach> aciep: For instance AVL trees, 2-3 trees, red-black trees, etc.
jonatack has quit [Ping timeout: 245 seconds]
<aeth> aciep: Personally, I view Common Lisp more as a language for building functional programming languages than a proper FP language itself... probably because it doesn't come with much by today's standards (just things like MAP and REDUCE, etc., etc., that most languages have by now)
<aeth> But it also doesn't stop you from doing, essentially, anything.
<aeth> This can be a downside if you want to take advantage of functional programming restrictions. But you can also embed a language in which those restrictions hold.
jonatack has joined #commonlisp
<aciep> aeth: I understand. I was just thinking about hypothetical situation where let's say I want to make a web framework and I want to somehow represent a http request. I could do anything but I'd force every user of the lib to do the same, but it looks like CL community likes things being unopinionated so they can build their solutions on top of libs rather than being forced to use restricting frameworks
amb007 has joined #commonlisp
amb007 has quit [Ping timeout: 246 seconds]
thuna`` has quit [Ping timeout: 245 seconds]
easye has quit [Remote host closed the connection]
amb007 has joined #commonlisp
wacki has joined #commonlisp
rainthree has quit [Ping timeout: 276 seconds]
runxiyu has quit [Ping timeout: 272 seconds]
runxiyu has joined #commonlisp
rainthree has joined #commonlisp
aciep has quit [Ping timeout: 248 seconds]
rtypo has quit [Ping timeout: 252 seconds]
shka has joined #commonlisp
beach` has joined #commonlisp
beach has quit [Ping timeout: 265 seconds]
jonatack has quit [Remote host closed the connection]
jonatack has joined #commonlisp
mesaoptimizer has quit [Ping timeout: 265 seconds]
triffid has quit [Remote host closed the connection]
pve has joined #commonlisp
runxiyu has quit [Ping timeout: 246 seconds]
runxiyu has joined #commonlisp
beach` is now known as beach
alcor has joined #commonlisp
X-Scale has quit [Quit: Client closed]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
SummerEmacs has joined #commonlisp
SummerEmacs has left #commonlisp [ERC 5.6.0.30.1 (IRC client for GNU Emacs 30.0.90)]
SummerEmacs has joined #commonlisp
<SummerEmacs> 👋
<SummerEmacs> new here. and learning. 🙃
<beach> Great, welcome!
<SummerEmacs> ty!
<beach> SummerEmacs: If you are new to Common Lisp, you might also want to join #clschool. People hang out there specifically to answer questions from newbies.
<SummerEmacs> i have two books i'm learning from. an introduction to common lisp (which is amazing! all these logic lessons on how programming works) and then i'll be reading common lisp - another book.
<SummerEmacs> i'm learning it in emacs beacuse i've been using emacs for years now and finally got around to learning some programming.
<SummerEmacs> ty! i will beach
<SummerEmacs> there 🙃
<beach> Who is the author of "an introduction to Common Lisp"? I don't think I know that one.
<SummerEmacs> i went through the emacs tutorial for elisp and it didn't really teach programming so i ended up knowing some but not completely understanding. that's why i'm doing common lisp now.
<SummerEmacs> oh lemme get it for you
<SummerEmacs> guy steele
<SummerEmacs> i'll be reading that after tho.
<SummerEmacs> i think the intro book is like the original updated book or something from decades ago but it's fantastic beacuse i'm learning actual fundamental programming logic.
<beach> Are you sure that's the title of the book? I still don't recognize it.
<SummerEmacs> lemme check
<SummerEmacs> yea "Common Lisp" by Guy L. Steele Jr.
<SummerEmacs> C. 1989
<SummerEmacs> but i haven't started that one yet
<SummerEmacs> i'm still looking at the first one and learning and doing stuff in it. i'm still at the beginning.
<beach> I am still confused about the "introduction" part. Is it perhaps "Common Lisp the Language", first edition?
<SummerEmacs> on chapter 3
<SummerEmacs> yea
<ixelp> Common Lisp the Language, 2nd Edition
<SummerEmacs> that's the one
<beach> Oh, OK. Now that one I know.
<SummerEmacs> hehe ok
<SummerEmacs> i'm doing that one second
<beach> And which one are you doing first?
<beach> "Common Lisp the Language" is a great book, but there are probably better ones to learn from, like with more examples, for instance "Practical Common Lisp" (provided you already have some programming experience).
<SummerEmacs> beach: https://0x0.st/Xwkp.01.png
<SummerEmacs> that one 😀
<SummerEmacs> i don't have programming experience
<SummerEmacs> i am not a student in programming or a programmer. i'm actually a personal assistant and manager. i use emacs for org mode and learn on my own.
<beach> I understand.
<SummerEmacs> but i wanted to learn it for myself. my boss is encouraging me to learn more things.
<beach> Great boss you have. Unusual attitude for bosses.
<SummerEmacs> and i've been using emacs for a few years so i figured it was time to learn some elisp. but the elisp tutorial doesn't really teach programming so i wanted something i can really learn programming from and since i know a *little* elisp now i figured common lisp is the way to go. also i decided to start learning C and python at the same time, and i'm taking physics classes now thanks to my boss.
<SummerEmacs> yea she rocks but she's not like a usual boss.
<SummerEmacs> also i figure i'll learn latex next so i can write formula in emacs down the road.
<beach> Wow, ambitious learning program you have. Good luck!
<SummerEmacs> ty!
<SummerEmacs> yea i know but i think i can do it
<SummerEmacs> it's eating into some of my social time but i'm still doing it
<beach> Of course. It is just a matter of time.
<SummerEmacs> yea
<SummerEmacs> plus i love learning stuff
<beach> Great!
<SummerEmacs> and since i know enough elisp to understand some of my personal emacs config and i use emacs already, i figure it's a great place to start so it can be useful to me.
<SummerEmacs> cuz i use org mode every day to do my job
<beach> Since you are already an Emacs user, you might want to know that most people here probably use Common Lisp through SLIME or SLY which make life much easier.
<SummerEmacs> SLIME?
<SummerEmacs> i think i heard the system crafters guy talk about it a few times but i'm not sure
<SummerEmacs> i hang out in there a lot.
<beach> Superior Lisp Interaction Mode for Emacs.
<SummerEmacs> and in #emacs but they're a bit more..special 😀
<SummerEmacs> ooh
<SummerEmacs> is that like ielm? i'm using a test.lisp file to test in
<SummerEmacs> and just using C-x C-e
<beach> I wouldn't know.
<SummerEmacs> i'll read up on it. ty!
<SummerEmacs> putting it in my notes.
<SummerEmacs> gotta love org capture 😀
<SummerEmacs> done
<SummerEmacs> i take it you're not an emacs user but you program in clisp in another IDE thing?
<beach> I use Emacs and SLIME. And CLISP is not an abbreviation for Common Lisp. It is an implementation of the Common Lisp standard.
<beach> But maybe that's what you meant.
<SummerEmacs> ooh
<SummerEmacs> wait clisp is not common lisp? i'm confused.
<beach> Most people here use the SBCL Common Lisp implementation. It is well maintained and has good performance.
<SummerEmacs> all these terms are gonna be confusing at first i think hehe
<beach> Common Lisp is a language standard. There are several implementations that conform to the standard.
<beach> SBCL, CCL, ECL, LispWorks, Allegro, ABCL, Clasp, CLISP, and more.
<SummerEmacs> oooh i see. there are different "languages" with the common lisp standard. so like clisp and then another and another.
<SummerEmacs> ok i get it. ty!
<SummerEmacs> i didn't know that.
<SummerEmacs> i figured it was all one language.
<beach> No, they are all the same language but different implementations of it.
<beach> The language is Common Lisp.
<SummerEmacs> ok. that amakes sense.
<SummerEmacs> like there's different flavors of linux.
<SummerEmacs> well, distros.
<beach> Sort of like that.
<pranav> SummerEmacs: "Implementation" refers to a compiler/interpreter usually.
<SummerEmacs> ok tysm guys
<beach> ywsm
<SummerEmacs> so i'm learning clisp built into emacs. so that's one kind of common lisp.
<beach> CLISP is not built into Emacs.
<SummerEmacs> i forgot what i did to get it into emacs then.
<beach> And CLISP is not that great an implementation compared to (say) SBCL.
<SummerEmacs> i was doing a few things to get it to work with eglot so maybe i downloaded it without realizing it.
<SummerEmacs> will these books work with SBCL?
<beach> Are you sure it is CLISP?
<SummerEmacs> i don't know, actually.
<SummerEmacs> how can i tell?
<beach> Yes, these books work with any conforming Common Lisp implementation of which SBCL is one.
<SummerEmacs> ooh ok.
<beach> I am not sure how you started your Common Lisp system, so I can't tell.
<SummerEmacs> tbh i have no idea. is there a way to eval a line to get the kind/version i'm using?
<pranav> SummerEmacs: If you have a repl, you can evaluate (lisp-implementation-type).
<SummerEmacs> ok doing that now ty
<SummerEmacs> i'm not in a repl i'm in a test.lisp file
<beach> ,(lisp-implementation-version)
<ixelp> => "Version 1.11.5/v1.11.5 (LinuxARM32)"
<SummerEmacs> yeah i don't get that (also i'm on a mac)
<SummerEmacs> ,(lisp-implementation-type)
<ixelp> => "Clozure Common Lisp"
<SummerEmacs> oh there we go!
<SummerEmacs> is that any good?
<beach> That one should be fine.
<SummerEmacs> oh good!
<SummerEmacs> ty
<beach> yw
<SummerEmacs> sorry for the newbie questions i can switch to #clschool if you want.
<beach> That would be best, yes.
<beach> SummerEmacs: If you are an Emacs user, you might want to use abbrev-mode.
<SummerEmacs> ok ty again
<SummerEmacs> i use abbrev all the time
<SummerEmacs> like for this 🙃
<SummerEmacs> and this 😀 💖
<beach> That way you can have "ty" expand to "Thank you so much beach".
<SummerEmacs> lol
<SummerEmacs> sorry it's force of messaging habits.
<SummerEmacs> here's a question: when i eval, it gives results at the bottom of the screen. is there a way to make the font bigger there? it's kinda very tiny.
<beach> If you are in Emacs, you can always increase the font size.
<SummerEmacs> yea but of the result at the bottom?
<beach> Since I don't know how you are using Common Lisp, I don't know.
<beach> It is a bit mysterious to me what you are doing.
<SummerEmacs> i'm using C-x C-e to eval and it prints the result at the bottom of emacs.
<pranav> SummerEmacs: That region is called the minibuffer.
<SummerEmacs> yea but i didn't know that it's technically the minibuffer when you eval a line, only when you do stuff like M-x and see the results
<pranav> It would be best to ask Emacs specific questions like these in #emacs channel.
<SummerEmacs> yea ok ty
jonatack has quit [Ping timeout: 248 seconds]
mesaoptimizer has joined #commonlisp
rainthree has quit [Ping timeout: 265 seconds]
<SummerEmacs> pranav: i'm asking in #emacs. that did work but not entirely.
<pranav> SummerEmacs: Great.
<SummerEmacs> 👍
<SummerEmacs> found it
<SummerEmacs> it's called the Echo area
csos95 has quit [Quit: ZNC 1.8.2 - https://znc.in]
runxiyu has quit [Ping timeout: 246 seconds]
kitaleth is now known as alethkit
runxiyu has joined #commonlisp
csos95 has joined #commonlisp
cage has joined #commonlisp
cage has quit [Excess Flood]
cage has joined #commonlisp
jonatack has joined #commonlisp
markb1 has quit [Ping timeout: 276 seconds]
markb1 has joined #commonlisp
rainthree has joined #commonlisp
meaty has quit [Quit: touch grass]
meaty has joined #commonlisp
meaty has quit [Changing host]
meaty has joined #commonlisp
<younder> I have concluded that there are many 'religions' about correct style. The CLOS gang, the FP gang and the Macro gang. Since CL is a muli-paradingm language that is fine.
<younder> Just be sure to agree on a style before collaborating, otherwise things can get messy.
random-nick has joined #commonlisp
rainthree has quit [Quit: Leaving]
<SummerEmacs> i'm just learning the basics
<SummerEmacs> it'll work in anything that is common lisp i think. i think most of it will even work with elisp.
mgl__ has joined #commonlisp
ingeniot has joined #commonlisp
mgl__ has quit [Ping timeout: 252 seconds]
JuanDaugherty has joined #commonlisp
ingeniot` has joined #commonlisp
ingeniot has quit [Quit: Client closed]
edgar-rft_ has joined #commonlisp
ingeniot` has quit [Remote host closed the connection]
King_julian has joined #commonlisp
edgar-rft has quit [Ping timeout: 248 seconds]
mgl__ has joined #commonlisp
_cymew_ has joined #commonlisp
pfdietz has quit [Quit: Client closed]
pfdietz has joined #commonlisp
decweb has joined #commonlisp
yitzi has joined #commonlisp
wacki has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
mgl__ has quit [Ping timeout: 252 seconds]
X-Scale has joined #commonlisp
edgar-rft_ is now known as edgar-rft
_cymew_ has quit [Ping timeout: 246 seconds]
JuanDaugherty has quit [Quit: JuanDaugherty]
domovod has joined #commonlisp
mgl__ has joined #commonlisp
wacki has joined #commonlisp
King_julian has quit [Ping timeout: 248 seconds]
domovod has quit [Quit: WeeChat 4.4.1]
_cymew_ has joined #commonlisp
X-Scale has quit [Quit: Client closed]
rtypo has joined #commonlisp
triffid has joined #commonlisp
X-Scale has joined #commonlisp
ingeniot has joined #commonlisp
agm has joined #commonlisp
<agm> SummerEmacs: if you use C-x C-e to evaluate, then you are invoking emacs' interpreter, which means you are programming in elisp
molson has joined #commonlisp
<beach> Hmm.
<beach> So maybe no Common Lisp implementation was ever installed.
molson_ has quit [Ping timeout: 264 seconds]
<beach> SummerEmacs: When you did ,(lisp-implementation-type) you were invoking the REPL of the ixelp bot which is running Clozure Common Lisp. Did you invoke that in your Lisp buffer too (without the leading comma)?
<ixelp> (lisp-implementation-type) => "Clozure Common Lisp"
domovod has joined #commonlisp
mgl__ has quit [Ping timeout: 246 seconds]
wacki has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
shawnw has quit [Ping timeout: 246 seconds]
yitzi_ has joined #commonlisp
yitzi_ has quit [Remote host closed the connection]
yitzi has quit [Ping timeout: 272 seconds]
yitzi has joined #commonlisp
wacki has joined #commonlisp
rahmanlar has quit [Ping timeout: 265 seconds]
overclucker has quit [Ping timeout: 248 seconds]
prokhor has quit [Remote host closed the connection]
char has joined #commonlisp
rahmanlar has joined #commonlisp
overclucker has joined #commonlisp
ingeniot has quit [Ping timeout: 256 seconds]
amb007 has quit [Ping timeout: 265 seconds]
amb007 has joined #commonlisp
mgl__ has joined #commonlisp
rogersm has joined #commonlisp
prokhor has joined #commonlisp
shawnw has joined #commonlisp
josrr has joined #commonlisp
simendsjo has joined #commonlisp
domovod has quit [Ping timeout: 255 seconds]
domovod has joined #commonlisp
domovod has quit [Quit: WeeChat 4.4.1]
mgl__ has quit [Ping timeout: 246 seconds]
simendsjo has quit [Ping timeout: 252 seconds]
pkw has joined #commonlisp
<pkw> I wrote a macro yesterday, it was pretty fun. Afterwards I saw that it could have just been a function.
<pkw> Learning by doing things wrong first is OK with me :)
rahmanlar has quit [Ping timeout: 276 seconds]
rahmanlar has joined #commonlisp
agm has left #commonlisp [ERC (IRC client for Emacs 28.0.50)]
luis has quit [Ping timeout: 248 seconds]
runxiyu has quit [Ping timeout: 260 seconds]
runxiyu has joined #commonlisp
paddymahoney has quit [Ping timeout: 255 seconds]
paddymahoney has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
char has quit [Ping timeout: 276 seconds]
pestctrl has joined #commonlisp
<kingcons> pkw: I think it's possible that that's the only way to learn.
ym has joined #commonlisp
lucasta has joined #commonlisp
luis has joined #commonlisp
gdsg has joined #commonlisp
<pkw> :)
Akbar-Birbal has left #commonlisp [#commonlisp]
zxcvz has joined #commonlisp
JuanDaugherty has joined #commonlisp
char has joined #commonlisp
attila_lendvai has joined #commonlisp
ldb has joined #commonlisp
runxiyu has quit [Ping timeout: 264 seconds]
runxiyu has joined #commonlisp
char has quit [Ping timeout: 246 seconds]
fitzsim has joined #commonlisp
zxcvz has quit [Quit: zxcvz]
cage has quit [Remote host closed the connection]
char has joined #commonlisp
_cymew_ has quit [Ping timeout: 248 seconds]
ldb has quit [Ping timeout: 255 seconds]
attila_lendvai_ has joined #commonlisp
attila_lendvai has quit [Ping timeout: 248 seconds]
ym has quit [Ping timeout: 265 seconds]
meaty has quit [Quit: touch grass]
meaty has joined #commonlisp
meaty has quit [Changing host]
meaty has joined #commonlisp
Alfr has quit [Ping timeout: 248 seconds]
yitzi has quit [Remote host closed the connection]
dajole has joined #commonlisp
ingeniot has joined #commonlisp
reb has quit [Remote host closed the connection]
reb has joined #commonlisp
kevingal has joined #commonlisp
netdoll has joined #commonlisp
kamafam has quit [Read error: Connection reset by peer]
Pixel_Outlaw has joined #commonlisp
ingeniot has quit [Quit: Client closed]
mwnaylor has joined #commonlisp
attila_lendvai_ is now known as attila_lendvai
wacki has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
pve has quit [Quit: leaving]
mgl__ has joined #commonlisp
runxiyu has quit [Ping timeout: 246 seconds]
runxiyu has joined #commonlisp
alcor has quit [Ping timeout: 255 seconds]
mgl__ has quit [Ping timeout: 272 seconds]
reb has quit [Remote host closed the connection]
reb has joined #commonlisp
thuna`` has joined #commonlisp
amb007 has quit [Ping timeout: 248 seconds]
Alfr has joined #commonlisp
runxiyu has quit [Ping timeout: 245 seconds]
JuanDaugherty has quit [Quit: JuanDaugherty]
runxiyu has joined #commonlisp
shka has quit [Ping timeout: 246 seconds]
King_julian has joined #commonlisp
attila_lendvai has quit [Ping timeout: 248 seconds]
char has quit [Ping timeout: 265 seconds]
char has joined #commonlisp
contrapunctus has left #commonlisp [#commonlisp]
X-Scale94 has joined #commonlisp
X-Scale has quit [Ping timeout: 256 seconds]
King_julian has quit [Ping timeout: 248 seconds]
amb007 has joined #commonlisp
netdoll has quit [Quit: Konversation terminated!]
amb007 has quit [Ping timeout: 260 seconds]
contrapunctus has joined #commonlisp
X-Scale94 has quit [Ping timeout: 256 seconds]
char has quit [Ping timeout: 252 seconds]
triffid has quit [Remote host closed the connection]
char has joined #commonlisp
kevingal has quit [Ping timeout: 260 seconds]
X-Scale has joined #commonlisp
triffid has joined #commonlisp
akoana has joined #commonlisp