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/>
micro has quit [Server closed connection]
micro has joined #commonlisp
kreuter has joined #commonlisp
lucasta has joined #commonlisp
random-nick has quit [Ping timeout: 252 seconds]
NotThatRPG has joined #commonlisp
NotThatRPG has quit [Ping timeout: 252 seconds]
waleee has quit [Ping timeout: 258 seconds]
ryanbw has joined #commonlisp
occ has quit [Ping timeout: 260 seconds]
occ has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
sveit has quit [Server closed connection]
sveit has joined #commonlisp
ronald has quit [Read error: Connection reset by peer]
ronald has joined #commonlisp
bilegeek has joined #commonlisp
habamax has joined #commonlisp
Sario has quit [Quit: WeeChat 3.0]
Sario has joined #commonlisp
pieguy128 has quit [Server closed connection]
pieguy128 has joined #commonlisp
ronald has quit [Read error: Connection reset by peer]
drakonis has quit [Server closed connection]
drakonis has joined #commonlisp
ronald has joined #commonlisp
azimut_ has quit [Ping timeout: 240 seconds]
dtman34 has quit [Ping timeout: 246 seconds]
occ has quit [Ping timeout: 240 seconds]
occ has joined #commonlisp
habamax has quit [Remote host closed the connection]
bilegeek has quit [Quit: Leaving]
dtman34 has joined #commonlisp
thonkpod has quit [Ping timeout: 248 seconds]
thonkpod has joined #commonlisp
dbotton has quit [Server closed connection]
dbotton has joined #commonlisp
lucasta has quit [Quit: Leaving]
pieguy128 has quit [Quit: ZNC 1.8.2 - https://znc.in]
pieguy128 has joined #commonlisp
fuwatou has joined #commonlisp
Josh_2 has joined #commonlisp
<Josh_2> Hi
<Josh_2> How did Lisp Machines or older lisps used to manage source code? Versioning etc?
rgherdt has joined #commonlisp
shka has joined #commonlisp
habamax has joined #commonlisp
<edgar-rft> I'm old but I never had a Lisp Machine :-) The only thing that comes to mind is that Common Lisp pathnames can have a "version" component -> http://www.lispworks.com/documentation/HyperSpec/Body/19_baf.htm
<ixelp> CLHS: Section 19.2.1.6
<White_Flame> old lisp filesystems stored versions automatically on overwrite, but that wasn't really "source control" as we know it
<aeth> a good substitute for the old foo-1.lisp foo-2.lisp etc
<aeth> but, yes, the problem is that you don't necessarily get a consistent state because foo-2 might not line up with bar-2
<aeth> a lot of the time it's not actually going to cause issues (most revisions don't change every document and most APIs are stable)
<aeth> it doesn't give you a snapshot of a point in time larger than one file, though
<aeth> (and modern distributed vcs like git solves separate issues... what happens when two people work on the same repository at the same time? or working offline etc.)
Oladon has quit [Quit: Leaving.]
Josh_2 has quit [Ping timeout: 240 seconds]
Oladon has joined #commonlisp
pve has joined #commonlisp
sjl_ has quit [Ping timeout: 255 seconds]
sjl_ has joined #commonlisp
jobhdez has joined #commonlisp
<jobhdez> what do you all like about common lisp the best? for your use case?
<hayley> It goes fast, and is interactive.
<beach> CLOS for me I think.
<jobhdez> nice. any of you have experience building compilers with common lisp?
<beach> Hard to decide. Yes, the interactive/incremental aspect.
<beach> jobhdez: Yes, me, bike, hayley, and more.
Gleefre has joined #commonlisp
<jobhdez> any of you have experience using ANF as an intermediate language?
<beach> Not me.
<hayley> Nor I.
<jobhdez> what type of compilers have you you all worked on?
<jobhdez> just curious
<beach> minion: Please tell jobhdez about Cleavir.
<minion> jobhdez: Cleavir: A project to create an implementation-independent compilation framework for Common Lisp. Currently Cleavir is part of SICL, but that might change in the future
<beach> Actually Cleavir v2 is NOT part of SICL.
<beach> minion: Please tell jobhdez about SICL.
<minion> jobhdez: SICL: SICL is a (perhaps futile) attempt to re-implement Common Lisp from scratch, hopefully using improved programming and bootstrapping techniques. See https://github.com/robert-strandh/SICL
<ixelp> GitHub - robert-strandh/SICL: A fresh implementation of Common Lisp
<hayley> Well, define ANF. I guess the Cleavir IR has a similar invariant, that the results of all trivial computations have "names" (locations).
Oladon has quit [Read error: Connection reset by peer]
<jobhdez> a normal form -consists of atomic expressions and complex expressions; eg temp = 10 + -3 -> temp_1 = -3; temp = 10 + temp_1
Oladon has joined #commonlisp
<beach> For Common Lisp, you need more than that. You need to represent things like non-local control transfer and the creation of entries in the dynamic environment.
<jobhdez> yeah but anf consists of more translations
<ixelp> A-Normalization: Why and How (with code)
<beach> So are you trying to convert us?
<jobhdez> no
<jobhdez> convert into what?
<beach> To using ANF instead of what we are currently using.
<jobhdez> of course not
<jobhdez> i was just asking
<beach> OK.
<jobhdez> :)
<hayley> Might's article reassures me that we have all the benefits of ANF already.
<hayley> The sea of nodes is cooler though.
<beach> Yeah, we should use sea-of-nodes at some point.
notzmv has quit [Ping timeout: 248 seconds]
alcor has joined #commonlisp
<jobhdez> will SICL be a more "modern" common lisp with new optimizations and so on?
<beach> I hope so. We already designed a better algorithm for generic dispatch, and we designed a technique for call-site optimization that I think will work quite well.
<beach> We invented some minor things as well, like path replication.
<beach> But mainly, it will be more maintainable, more modular, and it will have better support for debugging.
<jobhdez> thats awesome. implementing common lisp from scratch is a massive undertaking.
<beach> Yes, but in ways I couldn't predict.
<beach> Like, the compiler was fairly straightforward (but not simple). But there is lots of work in the details of everything.
<jobhdez> what turned out being harder than expected?
<beach> Like the details of the error handling in the package system, for instance. It is non-trivial. But maybe that's just me.
rainthree has joined #commonlisp
<jobhdez> ill see if i can contribute to your project
<beach> Great!
jobhdez has quit [Quit: Client closed]
<beach> You need to know that most of the code is either already extracted to separate repositories, or it will be.
<beach> So don't look for missing parts in the SICL repository.
<beach> And, consult with is (in #sicl) before taking anything on.
<beach> Here http://metamodular.com/SICL/ is a list of most of the papers we have published.
<ixelp> SICL documents
<Catie> That is something I like about SICL is that it's got all these papers in its repository. They make for nice reading
<beach> Thank you!
<Catie> Oh same to you, one hundred percent
* beach blushes.
<Catie> I am curious, the call-site optimization paper uses "we" but you're the only author listed, is that just a standard thing or were there more people who worked on the approach who were unlisted? Or some third thing that I'm not thinking of?
<hayley> I think it's a standard thing.
<Catie> Yeah that makes sense
<beach> Yes, it's a standard thing.
<Catie> Okay yeah, gotcha
<hayley> The university wants me to return my copy of the Garbage Collection Handbook next month, just before the second edition is scheduled to be released.
<beach> So what's your plan? Get them to buy the second edition for you?
occ has quit [Ping timeout: 260 seconds]
dcb has quit [Quit: MSN Messenger 3.8]
ec_ has quit [Ping timeout: 240 seconds]
ec_ has joined #commonlisp
<hayley> I've only got another semester of study to go, so I'll buy my own copy.
Oladon has quit [Quit: Leaving.]
euandreh has joined #commonlisp
morganw has joined #commonlisp
<alcor> Is there a standard "prompt" function in CL, for use in (restart-case … (use-value (value) :interactive … value))? I want to prompt the user to type a new value when in an interactive environment.
Alfr has quit [Quit: Leaving]
<alcor> Something like (prompt "Enter a form to use as a value") resulting in Enter a form to use as a value: _ in an interactive prompt.
<pjb> alcor: there's *query-io*, and the only such functions are y-or-n-p and yes-or-no-p
<aeth> I'm immediately thinking of y-or-n-p and yes-or-no-p
<pjb> So only type supported: boolean.
<aeth> sadly, just booleans, yes, but it does point to *query-io* as what to read from
<pjb> But of course, you can find the function you seek in libraries.
<pjb> or applications.
<aeth> hmm, it's bidirectional actually
<aeth> (progn (format *query-io* "Please enter your name: ") (read *query-io*))
<pjb> For example, in COM.INFORMATIMAGO.EDITOR I have: https://termbin.com/pj7od
<aeth> probably in some utility library
<pjb> aeth: you forgot finish-output!!!
<pjb> (and possibly clear-input).
<alcor> Which one? I didn't find something like that in the usual candidates (Alexandria, Serapeum).
<pjb> (progn (format *query-io* "Please enter your name: ") (finish-output *query-io*) (read *query-io*))
<Gleefre> [ also name probably should be read with read-line ? ]
<pjb> #c(1/2 42) is my name.
<aeth> Gleefre: which suggests why PROMPT doesn't exist while Y-OR-N-P does
<aeth> because once you don't use a boolean, you probably have a dozen different ways to do the read part
<Gleefre> Yeah.
dino_tutter has joined #commonlisp
<aeth> something like READ-LINE works better for names, but what if you want the next prompt to be age?
<alcor> I want to prompt for LISP value, i.e. via the reader 🤷
<aeth> which I think uses READ
<alcor> Actually, scratch that. What if I want to prompt for a CLOS instance. AFAIK, read just *reads*, but what if I want to call some instance factory function.
<Gleefre> With lisp reader there are some precautions to be made by the way
<Gleefre> Also you might want to read evaluated vs unevaluated value
<Gleefre> And you might want to disable #. reader macro
<Gleefre> And set the correct *package*
* alcor sees a dozen footguns appear in the distance
<Gleefre> There exists with-sane-io-syntax iirc
<Gleefre> *with-standard-io-syntax
<Gleefre> And then you can modify some variables like setfing *read-eval* to nil. On the clhs page all variables affecting the printer/reader syntax are listed it seems
Lord_of_Life has quit [Ping timeout: 240 seconds]
Lord_of_Life has joined #commonlisp
fuwatou has quit [Remote host closed the connection]
<Gleefre> By the way, I have a prototype of symbol links built into sbcl ( https://github.com/Gleefre/sbcl/tree/symbol-link )
<ixelp> GitHub - Gleefre/sbcl at symbol-link
fuwatou has joined #commonlisp
fuwatou has quit [Remote host closed the connection]
<Gleefre> And it feels nice - for example since reader follows them at read time after (add-symbol-link 'mvb 'multiple-value-bind) I can have syntax hints for mvb as well as for multiple-value-bind
<beach> alcor: Be a bit more careful about terminology, please. There is no such thing as a CLOS instance, or a CLOS class. Every Common Lisp object is an instance of a class, and every class is a CLOS class, because classes didn't exist before CLOS. Also a class is definitely an object.
<beach> alcor: You may want to use STANDARD-OBJECT, STANDARD-CLASS, and instance of STANDARD-CLASS for what you want to describe.
fuwatou has joined #commonlisp
dino_tutter has quit [Quit: Leaving]
Josh_2 has joined #commonlisp
notzmv has joined #commonlisp
euandreh has quit [Remote host closed the connection]
cage has joined #commonlisp
scymtym has joined #commonlisp
dino_tutter has joined #commonlisp
rainthree has quit [Ping timeout: 240 seconds]
Nilby has quit [Server closed connection]
chrcav has quit [Ping timeout: 258 seconds]
chrcav has joined #commonlisp
random-nick has joined #commonlisp
shka has quit [Ping timeout: 258 seconds]
tyson2 has joined #commonlisp
rainthree has joined #commonlisp
dino_tutter has quit [Remote host closed the connection]
Gleefre has quit [Remote host closed the connection]
Gleefre has joined #commonlisp
tetsuo9_ has joined #commonlisp
splittist_ has joined #commonlisp
splittist_ has quit [Ping timeout: 240 seconds]
GreaseMonkey has quit [Remote host closed the connection]
tetsuo9__ has quit [Ping timeout: 240 seconds]
dino_tutter has joined #commonlisp
greaser|q has joined #commonlisp
dino_tutter has quit [Ping timeout: 240 seconds]
attila_lendvai has joined #commonlisp
attila_lendvai has quit [Ping timeout: 240 seconds]
Josh_2 has quit [Ping timeout: 240 seconds]
habamax has quit [Quit: ERC 5.4 (IRC client for GNU Emacs 28.2)]
azimut has joined #commonlisp
dino_tutter has joined #commonlisp
<jcowan> beach: If all classes are CLOS classes and vice versa (and they are), then "class" and "CLOS class" are absolute synonyms, and it seems to me to be pedantic to complain about the use of one rather than the other.
<beach> You missed the context. I complain when "CLOS class" is used to distinguish a class from some other class, which by definition can not exist.
<beach> ... and when "CLOS instance" is used to indicate a subset of class instances, when every Common Lisp datum is an instance of some class, so that every Common Lisp datum is a "CLOS instance".
lasher003 has joined #commonlisp
lasher003 has left #commonlisp [#commonlisp]
attila_lendvai has joined #commonlisp
lasher003 has joined #commonlisp
lasher003 has quit [Client Quit]
<jackdaniel> structures predate clos inclusion, so the structure-class could be validly perceived as non-clos. I don't think that it is ambiguous when someone says clos instance when they mean a standard-object
<jackdaniel> (that said, indeed structures are retrofitted into clos, so technically you are correct)
<jackdaniel> from other news, ECL is going for a release, now we need to test for regressions on various platforms: https://gitlab.com/embeddable-common-lisp/ecl/-/issues/706
<ixelp> 23.x.x release candidate testing (#706) · Issues · Embeddable Common-Lisp / ECL · GitLab
ec_ has quit [Ping timeout: 240 seconds]
<beach> It is not ambiguous in that I know roughly what they are trying to say, though it can often be STANDARD-OBJECT or instance of STANDARD-CLASS. But I think it is important to use correct terminology, if for nothing else to avoid confusing newbies.
robin has quit [Ping timeout: 248 seconds]
ec_ has joined #commonlisp
<jackdaniel> I wonder whether newbies are more confused by non-ambiguous terminology or by discussing what is the correct terminology
<beach> *sigh*
azimut has quit [Remote host closed the connection]
azimut has joined #commonlisp
<pve> Hello! Is there a function that will tell me whether the point is at the beginning of a symbol? I.e. |abc => T and ab|c => NIL. I'm drawing a blank trying to implement this.
<pve> ugh wrong channel
attila_lendvai has quit [Ping timeout: 240 seconds]
Lycurgus has joined #commonlisp
green_ has quit [Ping timeout: 268 seconds]
Lycurgus has quit [Quit: Exeunt: personae.ai-integration.biz]
bitmapper has joined #commonlisp
samedi has joined #commonlisp
mgl has joined #commonlisp
azimut has quit [Remote host closed the connection]
azimut has joined #commonlisp
jobhdez has joined #commonlisp
<pve> Hi-Angel: wow it works, thanks.. does "<" actually indicate "beginning of symbol"?
<pve> oh so sorry, i did it again
<pjb> In emacs regexps, \< means beginning of word. Not just <.
<jobhdez> here is a good video about lisp:) https://www.youtube.com/watch?v=svmPz5oxMlI
<ixelp> Lisp, The Quantum Programmer's Choice - Computerphile - YouTube
<jobhdez> you guys are going to hate me but im a common lisp user and havent used slime:/
<jobhdez> i need to try slime!
<pve> I should clearly change irc clients :)
<pjb> jobhdez: well, slime doesn't matter much, but do you use emacs at least?
<jobhdez> yes I use emacs
<pve> pjb: ok I see, thanks
<pjb> There's inferior-lisp in emacs M-x run-lisp RET sbcl RET
<pjb> that's enough. You may also add a few custom commands to help.
<jobhdez> yea emacs what I use but for some reason never had the need to use slime but i have heard slime is wonderful
<pjb> jobhdez: for example: https://github.com/informatimago/rc/blob/1142888bb6f03dbc806dcbbfd404e6060f46a99b/emacs-slime.el#L812 to L896 can be used just with inferior-lisp. (independent of slime).
<ixelp> rc/emacs-slime.el at 1142888bb6f03dbc806dcbbfd404e6060f46a99b · informatimago/rc · GitHub
<jobhdez> thanks!
<pjb> jobhdez: there's even an older package named ilisp that may still work.
<ixelp> CLiki: ILISP
<pjb> on sourceforge, that says how old it is: https://sourceforge.net/projects/ilisp/
<ixelp> ILISP download | SourceForge.net
<jobhdez> ok thanks. do you use slime yourself pjb?
<pjb> Yes. Slime works reasonably well, on a wide range of implementations. This is an advantage. Notably the debugger, sldb has the same commands over all implementations.
random-nick has quit [Ping timeout: 258 seconds]
random-nick has joined #commonlisp
pok has quit [Server closed connection]
pok has joined #commonlisp
pok has quit [Changing host]
pok has joined #commonlisp
MetaYan has quit [Server closed connection]
MetaYan has joined #commonlisp
Oladon has joined #commonlisp
cmack` has quit [Ping timeout: 240 seconds]
NotThatRPG has joined #commonlisp
fuwatou has quit [Ping timeout: 252 seconds]
samedi has quit [Remote host closed the connection]
samedi has joined #commonlisp
jamesmartinez has quit [Ping timeout: 255 seconds]
jamesmartinez has joined #commonlisp
jamesmartinez has quit [Remote host closed the connection]
jobhdez has quit [Ping timeout: 246 seconds]
robin has joined #commonlisp
kmroz_ has quit [Server closed connection]
kmroz has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
Oladon has quit [Quit: Leaving.]
tevo has quit [Ping timeout: 258 seconds]
amb007 has quit [Ping timeout: 240 seconds]
amb007 has joined #commonlisp
dino_tutter has quit [Quit: Leaving]
dino_tutter has joined #commonlisp
dino_tutter has quit [Ping timeout: 240 seconds]
mgl has quit [Quit: Client closed]
Shinmera has quit [Server closed connection]
dino_tutter has joined #commonlisp
Shinmera has joined #commonlisp
ns12 has quit [Quit: bye]
ns12 has joined #commonlisp
occ has joined #commonlisp
<Gleefre> I wrote a hack that enables symbol-links on sbcl at runtime so that they are easy to try out.
<Gleefre> Though defpackage is not patched
<ixelp> GitHub - Gleefre/symbol-links: This is a hack that enables symbol links (common lisp).
green_ has joined #commonlisp
Gleefre has quit [Remote host closed the connection]
Gleefre has joined #commonlisp
leeb has quit [Server closed connection]
leeb has joined #commonlisp
rgherdt has quit [Ping timeout: 240 seconds]
tyson2 has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
rainthree has quit [Ping timeout: 240 seconds]
tyson2 has joined #commonlisp
ello has joined #commonlisp
jonatack1 has joined #commonlisp
ello has quit [Remote host closed the connection]
jon_atack has quit [Ping timeout: 240 seconds]
ello has joined #commonlisp
ello has quit [Remote host closed the connection]
ello has joined #commonlisp
ello has quit [Remote host closed the connection]
ello has joined #commonlisp
ello has quit [Client Quit]
ello has joined #commonlisp
ello has quit [Remote host closed the connection]
ello has joined #commonlisp
ello has quit [Remote host closed the connection]
tyson2 has quit [Remote host closed the connection]
ello has joined #commonlisp
ello has quit [Remote host closed the connection]
jryans has joined #commonlisp
Oladon has joined #commonlisp
ello has joined #commonlisp
ello has quit [Remote host closed the connection]
Lycurgus has joined #commonlisp
karlosz has joined #commonlisp
Lycurgus has quit [Quit: Exeunt: personae.ai-integration.biz]
igemnace has joined #commonlisp
notzmv has quit [Ping timeout: 240 seconds]
<jcowan> But I do not, and that's my choice. Lisp is not tied to an IDE.
cage has quit [Quit: rcirc on GNU Emacs 28.2]
<jcowan> s/do not/& use emacs
ec_ has quit [Remote host closed the connection]
ec_ has joined #commonlisp
ello has joined #commonlisp
ello has quit [Remote host closed the connection]
ec_ has quit [Client Quit]
ec has joined #commonlisp
ec has quit [Remote host closed the connection]
ec has joined #commonlisp
ec has quit [Client Quit]
ec has joined #commonlisp
rgherdt has joined #commonlisp
ec has quit [Ping timeout: 240 seconds]
ec has joined #commonlisp
dcb has joined #commonlisp
dcb has quit [Client Quit]
Alfr has joined #commonlisp
tevo has joined #commonlisp
tevo has quit [Ping timeout: 240 seconds]
tevo has joined #commonlisp
mason has quit [Quit: leaving]
mason has joined #commonlisp
hineios has quit [Quit: The Lounge - https://thelounge.chat]
hineios has joined #commonlisp
green_ has quit [Ping timeout: 240 seconds]
markb1 has quit [Ping timeout: 260 seconds]
markb1 has joined #commonlisp
dcb has joined #commonlisp
morganw has quit [Remote host closed the connection]
dtman34 has quit [Ping timeout: 240 seconds]
pve has quit [Quit: leaving]
mingus has quit [Ping timeout: 255 seconds]
rgherdt has quit [Quit: Leaving]
kg7ski has quit [Quit: ZNC 1.8.2 - https://znc.in]
kg7ski has joined #commonlisp
dino_tutter has quit [Ping timeout: 252 seconds]
green_ has joined #commonlisp
amb007 has quit [Ping timeout: 240 seconds]
amb007 has joined #commonlisp
Gleefre has quit [Remote host closed the connection]
Gleefre has joined #commonlisp
habamax has joined #commonlisp
bilegeek has joined #commonlisp
Gleefre has quit [Remote host closed the connection]
dcb has quit [Ping timeout: 258 seconds]
dcb has joined #commonlisp
notzmv has joined #commonlisp