rgherdt has quit [Remote host closed the connection]
inline__ has quit [Ping timeout: 268 seconds]
inline__ has joined #commonlisp
inline_ has quit [Ping timeout: 252 seconds]
speskk has joined #commonlisp
speskk has joined #commonlisp
speskk has quit [Changing host]
peterhil has joined #commonlisp
inline_ has joined #commonlisp
pdietz has joined #commonlisp
<pdietz>
I'm imagining a search algorithm that modifies the natural language input to ChatGPT until the generated code is correct.
<pdietz>
Also, I wonder if I could use ChatGPT to generate test cases for Common Lisp.
inline__ has quit [Ping timeout: 252 seconds]
sloanr has quit [Ping timeout: 268 seconds]
perrierjouet has joined #commonlisp
random-nick has quit [Ping timeout: 252 seconds]
inline__ has joined #commonlisp
inline_ has quit [Ping timeout: 272 seconds]
inline_ has joined #commonlisp
<gilberth>
pfdietz: I asked it to write tests for NCONC and it tests that the arguments are not modified. <http://clim.rocks/gilbert/chatgpt-nconc-test.txt> And I find the test for concatenating mixed types hilarious.
<pjb>
Yeah, useless.
<pjb>
But anyways, it's idiotic. Those models don't reason.
inline__ has quit [Ping timeout: 272 seconds]
<hayley>
All but #3 are undefined behaviour by modifying literals?
<gilberth>
As I keep saying. ChatGPT has no clue what it writes about just like a journalist.
inline__ has joined #commonlisp
<gilberth>
hayley: The second test case contradicts every other. Or do you see a SETQ around NCONC?
<hayley>
Now that you mention it.
<gilberth>
How can list1 magically be the concatenation, when it may not be modified as ChatGPT says?
<gilberth>
Somehow ChatGPT never contradicts you. Maybe I should have asked for :RADIX1 and :RADIX2. Maybe (string-equal "ff" "255" :radix1 16 :radix2 10) => T ?
inline_ has quit [Ping timeout: 268 seconds]
<Bike>
see, now that would be perfectly logical.
inline_ has joined #commonlisp
dtman34 has quit [Ping timeout: 260 seconds]
inline__ has quit [Ping timeout: 272 seconds]
dtman34 has joined #commonlisp
inline__ has joined #commonlisp
inline_ has quit [Ping timeout: 252 seconds]
inline_ has joined #commonlisp
inline__ has quit [Ping timeout: 268 seconds]
ym has quit [Ping timeout: 268 seconds]
inline_ has quit [Ping timeout: 268 seconds]
chrcav has joined #commonlisp
speskk has quit [Ping timeout: 252 seconds]
eddof13 has joined #commonlisp
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<hayley>
It's very happy to agree with things if you sound confident, and it's also very happy to be confident too. Like inventing a WHILE special form in Common Lisp code.
<hayley>
For some X in "can you do X?" it will tell you why you can't, but if you come up with some Y that justifies X in "I'm doing Y, do X" it'll follow along regardless of the quality of Y.
azimut has quit [Ping timeout: 255 seconds]
asarch has joined #commonlisp
akoana has quit [Quit: leaving]
akonai has quit [Ping timeout: 252 seconds]
akonai has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
akonai has quit [Ping timeout: 252 seconds]
jrm has quit [Remote host closed the connection]
jrm has joined #commonlisp
akonai has joined #commonlisp
akonai has quit [Ping timeout: 268 seconds]
ttree_ has quit [Quit: Leaving]
ttree has joined #commonlisp
akonai has joined #commonlisp
asarch has quit [Quit: Leaving]
<Spawns_Carpeting>
Hello. I am attempting to package some of the "must have" CL libraries for myself and possibly others on gentoo, and right now I am on the pattern matching library trivia. I am a little confused on how to go about this, I see a bunch of systems defined, such as trivia, trivia.trivial, trivia.balland2006 trivia.level0 etc. I am not really sure how I am supposed to go about this
<Spawns_Carpeting>
also i am having a hard time figuring what dependencies this thing has
akonai has quit [Ping timeout: 255 seconds]
<aeth>
Spawns_Carpeting: for the second part, that's (asdf:system-depends-on (asdf:find-system '#:name))
Oddity has quit [Ping timeout: 252 seconds]
<aeth>
unfortunately, it's not recursive
<aeth>
so e.g. for #'trivia you just get ("trivia.balland2006")
<aeth>
and for that you get ("trivia.trivial" "type-i" "iterate" "alexandria")
<aeth>
so you just have to keep walking through and remove duplicates
akonai has joined #commonlisp
<Spawns_Carpeting>
I think i got it now. it looks like i need closer-mop iterate type-i lisp-namespace and alexandria
akonai has quit [Ping timeout: 268 seconds]
<Spawns_Carpeting>
i take it trivia is pretty widely used, is this correct?
aartaka has joined #commonlisp
akonai has joined #commonlisp
ttree has quit [Read error: Connection reset by peer]
azimut has joined #commonlisp
akonai has quit [Ping timeout: 255 seconds]
aartaka has quit [Ping timeout: 272 seconds]
aartaka has joined #commonlisp
akonai has joined #commonlisp
akonai has quit [Ping timeout: 255 seconds]
igemnace has joined #commonlisp
akonai has joined #commonlisp
waleee has quit [Ping timeout: 264 seconds]
akonai has quit [Ping timeout: 252 seconds]
azimut_ has joined #commonlisp
igemnace has quit [Remote host closed the connection]
azimut has quit [Ping timeout: 255 seconds]
shka has joined #commonlisp
tibfulv_ has quit [Remote host closed the connection]
<kathe>
there was a project which used to produce a web front-end using common lisp.
<kathe>
does anyone here know the name of that project and its repository?
random-jellyfish has joined #commonlisp
<kathe>
i think the web front-end was generated dynamically using 'clim'.
<Duuqnd>
Could someone do me a quick favor? I need to know if PARSE-NAMESTRING on SBCL running on Windows will properly parse a normal Windows path (with backslashes and all) but I don't have a Windows machine available at the moment.
<beach>
kathe: I don't know the answer, but I typed "web front end common lisp" to the Google search engine and got several interesting-looking links.
<paule320>
kathe: picolisp have some features
<paule320>
hello beach
<kathe>
hi beach.
<kathe>
beach: i did follow your advice, but ain't able to find that project.
<kathe>
it would be super cool if mcclim was given a web front-end.
<phoe>
kathe: clog maybe
<kathe>
hi phoe.
<phoe>
hello kathe
<kathe>
phoe: yeah, clog looks *very* promising.
<beach>
With respect to McCLIM, I know gilberth wrote the Closure web browser.
<paule320>
kathe: what do you need ? database ?
<kathe>
paule320: i needed to "know" if there's a web front-end for mcclim.
<paule320>
ok
<paule320>
is there a mysql database package available for sbcl ?
bilegeek has quit [Quit: Leaving]
<kathe>
bye everyone.
kathe has quit [Quit: Leaving]
<Mrtn[m]>
kathe: Good afternoon.
<splittist>
Duuqnd: yes afaict
<Duuqnd>
Thanks
<splittist>
Duuqnd: so that if I (parse-namestring "c:\\Users\\John\\quicklisp\\") I get a pathname st. pathname-name is NIL, -device is "c" and -directory is (:absolute "Users" "John" "quicklisp"), for example. Just to be thorough (:
<paule320>
how can i catch the exception, that is throw, when quicklisp is already installed ?
<splittist>
how can you handle the condition that is signaled? What condition? Signaled in what circumstances? What do you want to do when it is signaled?
* splittist
channels beach
<paule320>
#simple-error
<paule320>
(SB-DEBUG::DEBUGGER-DISABLED-HOOK #<SIMPLE-ERROR "Quicklisp has already been installed. Load ~S instead."
akonai has quit [Ping timeout: 252 seconds]
akonai has joined #commonlisp
<mfiano>
splittist: beach will not respond to this character, like many others.
<mfiano>
splittist: Oh hey, I sent you a /query yesterday. Did you see it?
<paule320>
mfiano: i would bid you, "to not" spread flame wars
random-jellyfish has quit [Quit: Client closed]
<mfiano>
paule320: You did not graduate from #clschool after many years of ignoring advice, and now you come to #commonlisp because you were banned from there, talking about inferior "thrown exceptions" trying to confuse new people? I wouldn't be surprised if one of the operators here doesn't take too kindly to that.
<paule320>
you will not fair
<mfiano>
It is not under my control.
<paule320>
why did you make those statements ?
rainthree has joined #commonlisp
<mfiano>
I think I answered that. But this language barrier is exhausting, so excuse me.
Shinmera has quit [Quit: WeeChat 2.8]
Shinmera has joined #commonlisp
varjag has joined #commonlisp
paule320 was banned on #commonlisp by Shinmera [paule320!*@*]
paule320 was kicked from #commonlisp by Shinmera [paule320]
inline has joined #commonlisp
<Shinmera>
It is under my control though.
<mfiano>
As was made clear the other day, they use a deep learning service to translate their german to english, which does a horrible job, often resulting in some distorted semantic opposite of the input. SO talking to this fellow is more or less bot by proxy.
<Shinmera>
Happily these days they could just talk to chatgpt instead :)
<mfiano>
:)
inline_ has joined #commonlisp
inline has quit [Ping timeout: 252 seconds]
inline__ has joined #commonlisp
inline_ has quit [Ping timeout: 252 seconds]
random-nick has joined #commonlisp
inline_ has joined #commonlisp
akonai has quit [Ping timeout: 260 seconds]
inline__ has quit [Ping timeout: 255 seconds]
inline has joined #commonlisp
aartaka has quit [Ping timeout: 272 seconds]
aartaka has joined #commonlisp
inline_ has quit [Ping timeout: 268 seconds]
Lycurgus has joined #commonlisp
shka has quit [Ping timeout: 252 seconds]
_cymew_ has quit [Ping timeout: 272 seconds]
tane has joined #commonlisp
tane has quit [Changing host]
tane has joined #commonlisp
Lycurgus has quit [Quit: Exeunt: personae.ai-integration.biz]
akonai has joined #commonlisp
Shareni has joined #commonlisp
tyson2 has joined #commonlisp
jmdaemon has quit [Ping timeout: 260 seconds]
cage has joined #commonlisp
iar has joined #commonlisp
iar has left #commonlisp [#commonlisp]
iar has joined #commonlisp
iar has left #commonlisp [#commonlisp]
tyson2 has quit [Remote host closed the connection]
akonai has quit [Ping timeout: 272 seconds]
inline_ has joined #commonlisp
ym has joined #commonlisp
perrierjouet has joined #commonlisp
inline has quit [Ping timeout: 268 seconds]
lottaquestions has quit [Remote host closed the connection]
<phoe>
I usually try to keep absolutely everything as functional as I can
<phoe>
and use DEFMACRO only on the outermost layer
<pve>
phoe: I hear you. Proto-dot is a recursive macro, and it just seemed so easy.
thuna` has joined #commonlisp
<phoe>
recursive macros are kind of tempting
<pve>
(I'm building my new and improved "dot creation kit" based on the discussion here a while back
<pve>
no longer does it provide one single "dot" macro, but instead just offers some tools to build your own, since there are so many different use cases
inline has joined #commonlisp
<pve>
also gone is the general "access" functionality
<thuna`>
Alright, I tried to figure out what I am trying to make (this is about the binary recipes that I mentioned a while back), and landed on something like this: https://0x0.st/on7h.org. The built-in recipes section isn't a necessary read although it should make what I had in mind a bit clearer.
inline_ has joined #commonlisp
inline has quit [Ping timeout: 268 seconds]
Guest4001 has quit [Quit: Konversation terminated!]
cercopith_ has joined #commonlisp
cercopith__ has quit [Ping timeout: 265 seconds]
rgherdt has quit [Remote host closed the connection]
Shareni has quit [Remote host closed the connection]
inline has joined #commonlisp
enzuru has joined #commonlisp
inline_ has quit [Ping timeout: 272 seconds]
zyni-moe has joined #commonlisp
<Josh_2>
Spawns_Carpeting: Why are you doing that? I dont think I've ever used any of the systems in Portage other than sbcl itself
<Josh_2>
thuna`: that just 502d me
inline_ has joined #commonlisp
inline has quit [Ping timeout: 272 seconds]
inline has joined #commonlisp
inline_ has quit [Ping timeout: 252 seconds]
zyni-moe has quit [Quit: died]
aartaka has quit [Ping timeout: 252 seconds]
aartaka has joined #commonlisp
ym has quit [Read error: Connection reset by peer]
Mandus has quit [Read error: Connection reset by peer]
Mandus has joined #commonlisp
pdietz has quit [Quit: Client closed]
aartaka has quit [Ping timeout: 268 seconds]
<phoe>
okay I have just had some fun with common lisp
<phoe>
there's this math sort of puzzle, VIOLIN * 2 + VIOLA = TRIO + SONATA where each letter represents a different decimal digit
<phoe>
and I wrote the dumbest possible AMB call to try and find the solution
igemnace has quit [Remote host closed the connection]
triffid has quit [Ping timeout: 255 seconds]
triffid has joined #commonlisp
<_death>
(well, it tells screamer how to perform the search.. the backtracking is dependency-directed, as opposed to chronological)
rainthree has joined #commonlisp
rainthree3 has joined #commonlisp
rainthree has quit [Ping timeout: 252 seconds]
<mfiano>
Ok, put it that way I understand. The latter is hard to deal with (or was for me)
<_death>
need to correct myself again (it's been a while).. screamer uses chronological backtracking, though the choice points are determined by that form
<mfiano>
Ah. Ok then.
<_death>
there was some room for confusion because the screamer paper has a TMS-like example (and one of the authors invented the term) and those tend to have dependency-directed backtracking.. in the end it provides you with some control
johnjaye has joined #commonlisp
<johnjaye>
i recall reading in a speech that rms talked about dynamic binding being better for a text editor than lexical binding
<johnjaye>
that got me wondering. are there features of lisp that work better or worse for specific things like text editing?
<mfiano>
Absolutely, yes.
<mfiano>
(to close a very open-ended question)
<Josh_2>
thuna`: that second link works thanks
<johnjaye>
well. it's customary to provide an example when you affirm something exists. heh
<johnjaye>
common lisp has only lexical binding is my belief
<mfiano>
What do you mean by lexical binding?
<johnjaye>
like, the variable is only accessible in the scope it's defined in i think
<phoe>
you are wrong
<johnjaye>
or in a closure
<phoe>
CL has dynamic binding as well
<johnjaye>
oh ok
<_death>
and elisp has lexical binding too, nowadays, if you add a line for it
rainthree3 has quit [Ping timeout: 252 seconds]
<johnjaye>
yeah. it seems over time elisp has tried to be more and more like common lisp
<johnjaye>
or at least incorporate a lot of features
<johnjaye>
anyway i'm not sure exactly the speech where he was talking about dynamic binding
<johnjaye>
but it had something to do with redefining methods more efficiently
<ixelp>
EMACS: The Extensible, Customizable Display Editor - GNU Project - Free Software Foundation
<_death>
I bet there were some huge discussions about the pros and cons on emacs-devel mailing list, if you wish to read more about it
<phoe>
might be a #lisp thing more than a #commonlisp one maybe
<phoe>
since the former has broader scope and topicness
<johnjaye>
if you prefer i can move it over
<johnjaye>
what i'm confused about is the next section where it says formal parameters cannot replace dynamic scope
<johnjaye>
the example is A assigns a value to foo. then calls B which calls C. and it passes foo as a parameter
<phoe>
(defun b (foo bar) ...)
<johnjaye>
but this doesn't work if B can't be changed to take foo as a parameter.
<johnjaye>
"To use explicit argument passing would require adding a new argument to B, which means rewriting B and everything that calls B."
<phoe>
if you control functions A and C, and you need to pass a parameter from A to C through B, then you're in tough luck because the lambda list of B is defined to consist only of two arguments
<phoe>
but you can do (defun a (...) (let ((*baz* ...)) (b ...))) and then (defun c (...) (... *baz*))
<phoe>
where *BAZ* is a dynavar you control
<johnjaye>
ok. that's what it's saying though, you have to use dynamic scope
<phoe>
yes, *BAZ* is a dynamic variable
<phoe>
its scope is dynamic
<johnjaye>
but i guess if you have it then it's fine. this might be more of a problem with scheme then where there is no dynamic scope
<phoe>
this technique is actually used in Common Lisp as well, in order to work around exactly the same scenario - e.g. Eclector, a custom implementation of CL:READ, accepts additional arguments that cannot be passed through CL:READ itself because the lambda list for it is pretty fixed
<phoe>
no way for providing keywords or other optional arguments
<johnjaye>
well. what i meant is if you call code that uses CL:READ, do you want that to instead use eclector?
<johnjaye>
or is it more you're taking params that would normally go to cl:read and giving them to eclector
<phoe>
yes, that's the whole point of using a different Lisp reader for the systems
cage has quit [Remote host closed the connection]
<johnjaye>
ok
<phoe>
if you want to use eclector as the system Lisp reader, you want all calls to CL:READ to go to Eclector
<johnjaye>
ok. but how do you do that in cl
<phoe>
implementation-dependent
<phoe>
on some implementations it's enough to "unprotect" the CL package if necessary and then change the fdefinition of CL:READ
<phoe>
others might behave differently
<johnjaye>
sbcl you mean? i thought sbcl was the main one
<johnjaye>
and like the gnu one. gnu clisp
<phoe>
I actually don't know the guts and details since I never tried or needed to override sbcl's reader with Eclector
<johnjaye>
ah ok. well it's good to know this isn't just something hypothetical
inline has joined #commonlisp
<johnjaye>
or restricted to emacs
inline has quit [Remote host closed the connection]
inline has joined #commonlisp
<mfiano>
johnjaye: most Scheme's have dynamic scope too.
<_death>
my opinion is that special variables are a must-have for a sane interactive language experience
<mfiano>
Oddly enough, they are called parameter objects.
inline__ has quit [Ping timeout: 260 seconds]
<johnjaye>
well i was taught scheme is only lexically scoped
<johnjaye>
so maybe you are making a 500 IQ argument there
<mfiano>
Scheme without any extensions is not really much of a language, so that is true. But this is off-topic.
<phoe>
you can implement dynamic scope using mutable lexical scope and dynamic-wind
<phoe>
or unwind-protect
<_death>
also need to take care using thread-local storage
<mfiano>
johnjaye: Most Schemes implement a set of SRFI's, which AFAIU, are extra extensions to the base specification. SRFI 39 is the particular one to check if your Scheme dialect purports to conform to.
<johnjaye>
i see. there's nothing like that in lisp?
cage has joined #commonlisp
<johnjaye>
like, lisp extension #123?
<phoe>
CDR, but it's kind of a dead thing
<mfiano>
In Lisp? You mean in Common Lisp?
cage has quit [Client Quit]
<johnjaye>
yeah. like extensions to the language
<phoe>
compatibility libraries, but these are named rather numbered
<mfiano>
No. The standard is our holy book.We mostly rely on conventions and defacto standards to progress the language further. Sometimes even, as with PLN, nearly every implementation will jump on board.
<johnjaye>
ah i see
aartaka has quit [Ping timeout: 272 seconds]
inline_ has joined #commonlisp
aartaka has joined #commonlisp
inline_ has quit [Remote host closed the connection]
inline_ has joined #commonlisp
inline has quit [Ping timeout: 272 seconds]
inline__ has joined #commonlisp
inline has joined #commonlisp
inline has quit [Max SendQ exceeded]
inline_ has quit [Ping timeout: 272 seconds]
inline__ has quit [Ping timeout: 252 seconds]
<Spawns_Carpeting>
Josh_2: I try to not use package managers other than the system package manager. I even manage my emacs packages with portage!
<phoe>
I have no idea what's the state of lisp systems outside quicklisp, but debian is a mess
<phoe>
maybe portage is better
<Spawns_Carpeting>
I don't really like quicklisp especially because it doesn't support downloading over https which is absolutely essential to me
<Spawns_Carpeting>
At least it didn't when I looked into it
<yitzi>
Use clpm. It does https as I recall
<Spawns_Carpeting>
phoe: wrt portage, not great. There's only a handful of systems in the main Gentoo repo. There is a lisp overlay that has a lot more but it's mostly not updated in a long time. Packaging the stuff myself is pretty easy though so long as I can figure out what the dependencies of a system are and where to find them
<ixelp>
GitHub - quicklisp/quicklisp-projects: Metadata for projects tracked by Quicklisp.
<Spawns_Carpeting>
That's actually very helpful! I was looking for something like that
inline has joined #commonlisp
<Spawns_Carpeting>
Thank you
inline has quit [Max SendQ exceeded]
inline has joined #commonlisp
<Spawns_Carpeting>
Another thing that has been helpful is looking at the guix repo. They have a ton of lisp systems packaged and the package definition includes a url and some other metadata like dependencies
inline_ has joined #commonlisp
thuna` has quit [Ping timeout: 272 seconds]
_cymew_ has quit [Ping timeout: 252 seconds]
inline has quit [Ping timeout: 260 seconds]
inline has joined #commonlisp
inline_ has quit [Ping timeout: 272 seconds]
thuna` has joined #commonlisp
mrcom has quit [Ping timeout: 268 seconds]
tyson2 has joined #commonlisp
inline_ has joined #commonlisp
ec_ has quit [Ping timeout: 255 seconds]
inline has quit [Ping timeout: 272 seconds]
aartaka has quit [Ping timeout: 272 seconds]
ec_ has joined #commonlisp
inline_ is now known as Inline
inline_ has joined #commonlisp
Inline has quit [Killed (molybdenum.libera.chat (Nickname regained by services))]
inline_ is now known as Inline
inline_ has joined #commonlisp
ec_ has quit [Remote host closed the connection]
Inline has quit [Ping timeout: 255 seconds]
ec_ has joined #commonlisp
pranavats has left #commonlisp [Disconnected: Hibernating too long]
random-nick has quit [Ping timeout: 272 seconds]
thuna` has quit [Remote host closed the connection]
pranavats has joined #commonlisp
random-nick has joined #commonlisp
szkl has quit [Quit: Connection closed for inactivity]
ec_ has quit [Ping timeout: 255 seconds]
tyson2 has quit [Ping timeout: 268 seconds]
khrbt has joined #commonlisp
ec_ has joined #commonlisp
jmdaemon has joined #commonlisp
speskk has quit [Ping timeout: 272 seconds]
skeemer has quit [Remote host closed the connection]
skeemer has joined #commonlisp
borodust has quit [Remote host closed the connection]
<anddam>
I just started Practical Common Lisp
<anddam>
so far it is awesome
<pjb>
ok
<anddam>
just had to report that
<phoe>
anddam: congrats and hope you have fun
<anddam>
thx
Alfr has quit [Quit: Leaving]
<anddam>
lisp in a box
<anddam>
lisp in a box "news" seem pretty out of date, is a distribution like lispstick preferable for a newbie?
<phoe>
portacle
<anddam>
(fat fingered while typing)
<anddam>
thanks again
inline__ has joined #commonlisp
inline_ has quit [Ping timeout: 272 seconds]
Alfr has joined #commonlisp
<anddam>
oh wow, that emacs is *not* following HiDPI