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/>
yvm has quit [Quit: Leaving]
dino_tutter has quit [Ping timeout: 264 seconds]
AetherWind has quit [Ping timeout: 264 seconds]
AetherWind has joined #commonlisp
Lycurgus has joined #commonlisp
tengu1 has quit [Quit: Client closed]
AetherWind has quit [Quit: Lost terminal]
slyrus has quit [Remote host closed the connection]
slyrus has joined #commonlisp
SunClonus has joined #commonlisp
AetherWind has joined #commonlisp
pve has quit [Quit: leaving]
SunClonus has quit [Read error: Connection reset by peer]
khrbtxyz has quit [Ping timeout: 256 seconds]
tyson2 has quit [Remote host closed the connection]
khrbtxyz has joined #commonlisp
slyrus has quit [Remote host closed the connection]
azimut has quit [Ping timeout: 240 seconds]
zetef has quit [Remote host closed the connection]
szkl has joined #commonlisp
slyrus has joined #commonlisp
triffid has quit [Remote host closed the connection]
slyrus has quit [Ping timeout: 268 seconds]
Pixel_Outlaw has joined #commonlisp
decweb has quit [Ping timeout: 260 seconds]
Lord_of_Life has quit [Ping timeout: 246 seconds]
Lord_of_Life has joined #commonlisp
khrbtxyz has quit [Ping timeout: 260 seconds]
khrbtxyz has joined #commonlisp
random-nick has quit [Ping timeout: 256 seconds]
shka has quit [Ping timeout: 276 seconds]
slyrus has joined #commonlisp
slyrus has quit [Read error: Connection reset by peer]
slyrus has joined #commonlisp
tasty has quit [Quit: bye bye!]
<BrokenCog> Query: is cl-object the CLOS wrapper?
<BrokenCog> or is something else?
<BrokenCog> Also, in reading about symbols, #: indicates "has no home package", which I am reading is not the same as "not interned in any package" ... how are those two statements not tautological??
<bike> you can intern a symbol in one or more extra packages, and then unintern it from its home package, and then it will not have a home package but still be interned in the other package(s).
<bike> but if you read in a symbol with #: it will not be interned in any packages (unless you do that yourself later, for some reason)
tyson2 has joined #commonlisp
akoana has joined #commonlisp
akoana has quit [Client Quit]
akoana has joined #commonlisp
tasty has joined #commonlisp
tasty has quit [Changing host]
tasty has joined #commonlisp
Renfield has joined #commonlisp
pfdietz has quit [Quit: Client closed]
pfdietz has joined #commonlisp
makomo has quit [Ping timeout: 268 seconds]
slyrus has quit [Remote host closed the connection]
slyrus has joined #commonlisp
khrbtxyz has quit [Ping timeout: 264 seconds]
khrbtxyz has joined #commonlisp
may has joined #commonlisp
szkl has quit [Quit: Connection closed for inactivity]
slyrus has quit [Remote host closed the connection]
<may> Hi! This is a bit of a longshot, but does anyone have a GitHub actions file or template handy that compiles your program on several different implementations? I thought it might be useful to be able to say, with the CI, that "Project X works on several implementations: A, B, and C", although compiles != works. If not, I can roll my own, but I thought I'd check quick.
<bike> i think 40ants has something more comprehensive, but i couldn't figure it out
<may> Thank you, I'll take a look. I saw 40ants and may utilize some of that, depending.
ronald has joined #commonlisp
slyrus has joined #commonlisp
may has quit [Quit: Leaving]
occ has joined #commonlisp
johnjaye has quit [Ping timeout: 255 seconds]
X-Scale has quit [Ping timeout: 250 seconds]
slyrus has quit [Remote host closed the connection]
epony has quit [Remote host closed the connection]
triffid has joined #commonlisp
epony has joined #commonlisp
slyrus has joined #commonlisp
slyrus has quit [Remote host closed the connection]
slyrus has joined #commonlisp
gilberth has quit [Ping timeout: 264 seconds]
ixelp has quit [Ping timeout: 268 seconds]
decweb has joined #commonlisp
ixelp has joined #commonlisp
Devon has quit [Ping timeout: 268 seconds]
mesaoptimizer has quit [Ping timeout: 252 seconds]
azimut has joined #commonlisp
slyrus has quit [Remote host closed the connection]
rgherdt has quit [Ping timeout: 260 seconds]
jack_rabbit has quit [Ping timeout: 276 seconds]
wgj has joined #commonlisp
wgj has quit [Max SendQ exceeded]
slyrus has joined #commonlisp
<BrokenCog> bike: thanks.
slyrus has quit [Ping timeout: 256 seconds]
jack_rabbit has joined #commonlisp
khrbtxyz has quit [Ping timeout: 256 seconds]
msavoritias has joined #commonlisp
khrbtxyz has joined #commonlisp
slyrus has joined #commonlisp
slyrus has quit [Ping timeout: 268 seconds]
tyson2 has quit [Remote host closed the connection]
jmdaemon has joined #commonlisp
slyrus has joined #commonlisp
johnjaye has joined #commonlisp
igemnace has joined #commonlisp
akoana has quit [Quit: leaving]
slyrus has quit [Ping timeout: 264 seconds]
slyrus has joined #commonlisp
igemnace has quit [Read error: Connection reset by peer]
AetherWind has quit [Quit: leaving]
igemnace has joined #commonlisp
okflo has joined #commonlisp
okflo has quit [Remote host closed the connection]
Pixel_Outlaw has quit [Remote host closed the connection]
okflo has joined #commonlisp
okflo has quit [Client Quit]
okflo has joined #commonlisp
Lycurgus has quit [Quit: leaving]
mesaoptimizer has joined #commonlisp
okflo has quit [Remote host closed the connection]
slyrus has quit [Ping timeout: 264 seconds]
slyrus has joined #commonlisp
slyrus has quit [Ping timeout: 268 seconds]
dcb has quit [Quit: Connection closed for inactivity]
epony has quit [Remote host closed the connection]
epony has joined #commonlisp
johnjaye has quit [Ping timeout: 264 seconds]
johnjaye has joined #commonlisp
slyrus has joined #commonlisp
azimut has quit [Ping timeout: 240 seconds]
wacki has joined #commonlisp
slyrus has quit [Ping timeout: 252 seconds]
slyrus has joined #commonlisp
jonatack has quit [Ping timeout: 276 seconds]
slyrus has quit [Ping timeout: 268 seconds]
amb007 has quit [Read error: Connection reset by peer]
mesaoptimizer_ has joined #commonlisp
amb007 has joined #commonlisp
mesaoptimizer_ has quit [Changing host]
mesaoptimizer_ has joined #commonlisp
epony has quit [Remote host closed the connection]
Catie has joined #commonlisp
epony has joined #commonlisp
shka has joined #commonlisp
attila_lendvai has joined #commonlisp
slyrus has joined #commonlisp
waleee has quit [Ping timeout: 268 seconds]
donleo has joined #commonlisp
slyrus has quit [Ping timeout: 252 seconds]
slyrus has joined #commonlisp
mgl_ has joined #commonlisp
slyrus has quit [Ping timeout: 252 seconds]
jrx has joined #commonlisp
slyrus has joined #commonlisp
slyrus has quit [Ping timeout: 240 seconds]
mgl_ has quit [Ping timeout: 256 seconds]
mgl_ has joined #commonlisp
manwithluck has quit [Ping timeout: 255 seconds]
epony has quit [Ping timeout: 264 seconds]
slyrus has joined #commonlisp
_cymew_ has joined #commonlisp
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
mgl_ has quit [Ping timeout: 260 seconds]
wacki has joined #commonlisp
slyrus has quit [Ping timeout: 260 seconds]
zetef has joined #commonlisp
dino_tutter has joined #commonlisp
slyrus has joined #commonlisp
manwithluck has joined #commonlisp
dajole has quit [Quit: Connection closed for inactivity]
manwithluck has quit [Ping timeout: 264 seconds]
slyrus has quit [Ping timeout: 260 seconds]
manwithluck has joined #commonlisp
epony has joined #commonlisp
zetef has quit [Ping timeout: 260 seconds]
manwithluck has quit [Ping timeout: 268 seconds]
makomo has joined #commonlisp
rgherdt has joined #commonlisp
slyrus has joined #commonlisp
random-nick has joined #commonlisp
slyrus has quit [Ping timeout: 264 seconds]
pranavats has left #commonlisp [Disconnected: Replaced by new connection]
pranavats has joined #commonlisp
slyrus has joined #commonlisp
McParen has joined #commonlisp
slyrus has quit [Ping timeout: 252 seconds]
occ has quit [Ping timeout: 246 seconds]
paule32 has joined #commonlisp
waleee has joined #commonlisp
<paule32> hello, how can i supress the quicklisp package laof messages ?
<paule32> load
<paule32> i use sbcl
<McParen> Can I push new elements to a quoted list? (defparameter foo '(1 2 3)) (push 4 foo) in sbcl evaluates to (4 1 2 3), but is this actually allowed? I remember reading that modifying literal lists was undefined.
okflo has joined #commonlisp
<paule32> McParen: you cab this by using a vector
<paule32> can do
okflo has quit [Remote host closed the connection]
<thuna`> McParen: (push 4 foo) should be fine, you run into a problem when you are modifying the quoted list itself, as in, (push 4 (cdr foo))
occ has joined #commonlisp
okflo has joined #commonlisp
<McParen> so does push here prduce a new list?
<McParen> under the hood, push expands to (setq foo (cons 4 foo))
<thuna`> McParen: It's a new cons cell whose car is 4 and cdr is the quoted list
<thuna`> paule32: I don't know if there is a canonical way to do it, but just looking at apropos, I see (uiop:with-null-output (*standard-output*) ...), which might be what you want
<paule32> hello thuna` i use this: https://dpaste.com/4ZJLW7Z67
<ixelp> dpaste: 4ZJLW7Z67
<paule32> but i get driver error
okflo has quit [Ping timeout: 260 seconds]
<thuna`> paule32: You can use uiop:with-null-output instead of uiop:with-output-to-string
<paule32> thuna`: ah oh, yes, it works, thanks
pranavats has left #commonlisp [Disconnected: Replaced by new connection]
waleee has quit [Ping timeout: 252 seconds]
pranavats has joined #commonlisp
NicknameJohn has quit [Ping timeout: 240 seconds]
gilberth has joined #commonlisp
slyrus has joined #commonlisp
jrx has quit [Remote host closed the connection]
okflo has joined #commonlisp
okflo has quit [Client Quit]
slyrus has quit [Ping timeout: 276 seconds]
jrx has joined #commonlisp
dnhester26 has joined #commonlisp
<dnhester26> in a loop over a list, how can I tell when I'm in the last element?
<beach> ,(loop with (a . b) on '(1 2 3 4 5) when (null b) do (print a))
<ixelp> (loop with (a . b) on '(1 2 3 4 5) when (null b) do (print a)) ERROR: ON is an unknown keyword in LOOP macro. ↩ Current LOOP context: ON '(1 2 3 4 5).
<beach> ,(loop for (a . b) on '(1 2 3 4 5) when (null b) do (print a))
<ixelp> (loop for (a . b) on '(1 2 3 4 5) when (null b) do (print a)) ↩ 5 => NIL
<beach> Sorry.
<dnhester26> beach: thanks!
<beach> Sure.
<paule32> i would use the Qt framework. loading via quicklisp is fine, but i get .dll error: Error opening shared object "smokeqtcore.dll":
mgl_ has joined #commonlisp
<beach> McParen: As thuna` pointed out, (SETQ FOO ... ) modifies the variable FOO and not the list, and (CONS 4 FOO) creates a new CONS cell with the original LIST in its CDR, also without modifying the original list.
yitzi has joined #commonlisp
cage has joined #commonlisp
<McParen> can I afterwards modify foo?
<McParen> hello cage
<cage> Hi McParen!
<beach> McParen: You can modify the variable as much as you like. What you can't modify is the original list, i.e., the CONS cells that make it up.
<McParen> so it would be the safer choice to cons a new element to a copy of the original list, right?
<McParen> in order to be able to modify all the elements of the "new" list.
slyrus has joined #commonlisp
<beach> McParen: Only if you intend to modify the cells of the list later. But pushing something to the beginning of the list does not modify it.
<McParen> okay, thanks for the clarification.
<beach> McParen: Sure. If later you want to do (PUSH 234 (CDDR FOO)), then you would be modifying the original list.
<paule32> okay, i get it working: (ql:quickload :qt-libs)
traidare has joined #commonlisp
jonatack has joined #commonlisp
<Renfield> If I have a variable whose contents are Lisp forms, how can I create a macro which generates a function whose body are those lisp forms from the variable?
Inline has quit [Ping timeout: 260 seconds]
slyrus has quit [Ping timeout: 252 seconds]
<beach> ,(defparameter forms '(cons 1 2) ,(defmacro foo () `(defun bar () ,forms)) ,(foo) ,(bar)
<beach> ,(defparameter forms '(cons 1 2)) ,(defmacro foo () `(defun bar () ,forms)) ,(foo) ,(bar)
<ixelp> (defparameter forms '(cons 1 2)) => FORMS and (defmacro foo () `(defun bar () ,forms)) => FOO and (foo) => BAR finally (bar) => (1 . 2)
<beach> Sorry.
<McParen> why... did the last line trigger ixelp?
<beach> I forgot a closing parenthesis in the first example.
<beach> Otherwise, ixelp is triggered when a form starts with a comma.
<beach> As in: ,(list 1 2 3)
<ixelp> (list 1 2 3) => (1 2 3)
<Renfield> Thanks, I thought I tried that. Just the backtick at the beginning and a comma before the variable. I'll play with it as obviously I'm missing something fundamental.
slyrus has joined #commonlisp
<paule32> i have the following code: " (defpackage :lispide (:use :cl :qt) (:export #:main))
<paule32> "
<paule32> (in-package :lispide)
<paule32> all defun calls before (defpackage are unavailable
<beach> No they aren't.
slyrus has quit [Ping timeout: 260 seconds]
amb007 has quit [Ping timeout: 268 seconds]
<beach> Renfield: But it's probably easier in this case to just build a DEFUN form and use EVAL on it.
<Renfield> Oh, you are not passing the variable to the macro. I have this (setf forms '(+ 1 2)) (defmacro deferred (body) `(deffun foo () ,body))
amb007 has joined #commonlisp
<Renfield> But (deferred forms) returns variable foo unbound.
<beach> Well, you have a typo.
<beach> It is DEFUN and not DEFFUN.
<Renfield> Sorry.
<beach> It still won't work though. The macro will receive the variable FORMS unevaluated. If you macroexpand your last macro form, you will see what is going on.
<beach> Like I said, it is probably easier to build a DEFUN form and EVAL it.
<Renfield> I am told eval is evil.
tyson2 has joined #commonlisp
<anthk_> TIL sdraw from the book on symbolic programming in CL
<beach> Renfield: What you are doing requires EVAL in one form or the other, whether hidden in a macro or explicit.
<Renfield> I see that it is not expanding forms. Why doesn't it do that but your example does?
<Renfield> Why doesn't yours need eval?
<anthk_> I made a defun for draw-cons-tree from quicklisp: (defun sdraw (lst) (draw-cons-tree:draw-tree lst))
<anthk_> hope this doesn't fail
<beach> Renfield: The EVAL is implicit in that the macro form evaluates the expansion.
<beach> Renfield: The idea that EVAL is evil is a simplification. It is there when you need it.
<Renfield> I guess I need it, then.
<beach> Since your forms are in the form of data, you need EVAL one way or the other, whether implicit or explicit.
<beach> Might as well make it explicit.
<beach> Like (defun create-function (name lambda-list body) (eval `(defun ,name ,lambda-list ,@body))) or something like that.
slyrus has joined #commonlisp
paule32 has left #commonlisp [Leaving]
waleee has joined #commonlisp
jonatack has quit [Ping timeout: 260 seconds]
slyrus has quit [Ping timeout: 264 seconds]
mgl_ has quit [Ping timeout: 252 seconds]
szkl has joined #commonlisp
slyrus has joined #commonlisp
pranavats has left #commonlisp [Disconnected: Replaced by new connection]
mgl_ has joined #commonlisp
pranavats has joined #commonlisp
slyrus has quit [Ping timeout: 260 seconds]
prokhor has joined #commonlisp
zxcvz has joined #commonlisp
mgl_ has quit [Ping timeout: 268 seconds]
josrr has joined #commonlisp
Inline has joined #commonlisp
jmdaemon has quit [Ping timeout: 276 seconds]
<dnhester26> in a lambda list, how can I declare optional keys? I would've thought (&optional &key hello), but from here https://lisp-docs.github.io/cl-language-reference/chap-3/d-e-lambda-lists#3412-specifiers-for-optional-parameters it sounds like since &key is a keyword, then the optional stops being relevant
<ixelp> 3.4 Lambda Lists | Common Lisp (New) Language Reference
<McParen> all keys are optional
<beach> &KEY parameters are already optional.
<dnhester26> ah, thee's no way to require keys???
<dnhester26> just by argument order??
<dnhester26> thanks for the answers
<beach> &KEY arguments are not by order.
<beach> For that, use &OPTIONAL.
<McParen> you can provide default key values, but you cant require key arguments go be passed.
<dnhester26> no, I mean, is there no way to require the user passing in a key argument?
<dnhester26> ok, thanks
<beach> Sure, error in the initform.
<dnhester26> and the order of rest and key are irrelevant?
slyrus has joined #commonlisp
<beach> No, &REST comes before &KEY.
<dnhester26> ok, thanks
khrbtxyz has quit [Ping timeout: 264 seconds]
khrbtxyz has joined #commonlisp
<dnhester26> beach: I see all the examples are like said, &rest before &key, but it's not mentioned here: https://lisp-docs.github.io/cl-language-reference/chap-3/d-e-lambda-lists#3412-specifiers-for-optional-parameters
X-Scale has joined #commonlisp
<ixelp> 3.4 Lambda Lists | Common Lisp (New) Language Reference
<dnhester26> ^like *you* said
<ixelp> 3.4 Lambda Lists | Common Lisp (New) Language Reference
<beach> The syntax clearly says that &REST is first.
<beach> [&rest var] [&key ...]
slyrus has quit [Ping timeout: 246 seconds]
<dnhester26> ah I see, because of the order in the syntax, thanks
<beach> Sure.
<dnhester26> beach: btw, was trying to add the copy of MOP you had and there are some broken links: http://metamodular.com/CLOS-MOP/class-direct-subclasses-class.html should I just remove them? or replace them?
<ixelp> add-direct-subclass-class-class
<beach> Yes, I see. Thanks.
<beach> That appears to be a problem in the original text.
<beach> Let me verify that.
dcb has joined #commonlisp
<dnhester26> ok
<beach> Maybe not.
slyrus has joined #commonlisp
<beach> I have a list of 4 methods on the generic function CLASS-DIRECT-SUBCLASSES, but I can't see where I found the text that is on that page.
<beach> Oh, I see. It is the list of methods that is wrong. There should be a single method I think.
<dnhester26> beach: this is a list of all the broken links: https://plaster.tymoon.eu/view/4095#4095
<beach> Thanks.
<dnhester26> I can fix them if you want, just let me know if to remove them, comment them out, replace them with something else... or what to do.
<beach> That's OK. I'll do it. It seems that for both CLASS-DIRECT-SUBCLASSES and CLASS-DIRECT-SUPERCLASSES I have given them 4 methods, but there should be only one.
<beach> So it is not just a matter of fixing the broken links.
<beach> I can't imagine how I could have invented those methods.
gxt has quit [Ping timeout: 240 seconds]
<dnhester26> is this a good sentence to add for the &rest section: "Note that the syntax order specifies that `&rest` parameters must be written *before* the `&key` parameters." I'm not confident in writing these types of sentences because I don't have all the terminology down well, so I don't want to make mistakes
gxt has joined #commonlisp
<dnhester26> But I do feel we need a bit more of an explanation there and examples
<dnhester26> ok, thanks
<beach> Well, then you would have to also write that the required comes before the optional, the optional before the key, the key before allow-other-keys, the allow-other-keys before the aux.
<beach> And then you would have to repeat that for all (a dozen or so) lambda lists, while pointing out that &environment can appear anywhere and &whole must be first where those appear.
igemnace has quit [Read error: Connection reset by peer]
<dnhester26> how do I define the types of arguments, I for some reason thought it was ,(defun hello ((world 'string)) (format NIL "hello ~A" world)) ,(hello "beach")
<ixelp> (defun hello ((world 'string)) (format NIL "hello ~A" world)) ERROR: While compiling HELLO : ↩ Bad lambda list : ((WORLD 'STRING)) , further (hello "beach") ERROR: Undefined function HELLO called with arguments ("beach") .
<dnhester26> but couldn't fint he docs
<dnhester26> *find the
slyrus has quit [Ping timeout: 256 seconds]
<beach> (defun hello (world) (declare (type string world)) ...)
<beach> What you are thinking of is probably methods which have specializers.
<dnhester26> ah, it's only with defgeneric and defmethod that it works that way, right?
<dnhester26> yeah, thanks, that's why I got confused
<beach> In methods, you use specializers. Those are not declarations.
<beach> (defmethod hello ((world string)) ...)
occ has quit [Ping timeout: 252 seconds]
<pfdietz> And remember, this thing in a specializer is either a class or an EQL specializer.  Types that are not classes cannot be used.
<beach> This method is applicable only if WORLD is a string. In the DEFUN example, the declaration is a promise to the compiler. Totally different.
<dnhester26> ok, thank you both! I am actually using a class, I just used string as an in place for a class, but I should've thought twice about the example. Thanks again!
McParen has left #commonlisp [#commonlisp]
dnhester26 has quit [Remote host closed the connection]
<beach> STRING *is* a class.
<beach> ,(find-class 'string)
<ixelp> (find-class 'string) => #<BUILT-IN-CLASS STRING>
<beach> But, again, the semantics of the specialized parameter in DEFMETHOD and the declaration of the parameter in DEFUN are very different.
<beach> dnhester26: If you add a declaration in the DEFUN example, you might actually make your code less safe, because if you then pass something other than a string, the consequences are undefined.
igemnace has joined #commonlisp
slyrus has joined #commonlisp
waleee has quit [Ping timeout: 264 seconds]
slyrus has quit [Ping timeout: 268 seconds]
azimut has joined #commonlisp
slyrus has joined #commonlisp
rgherdt has quit [Ping timeout: 256 seconds]
slyrus has quit [Ping timeout: 276 seconds]
paule32 has joined #commonlisp
<paule32> hello, who is familar with commonqt ?
<paule32> i would "connect" a QPushButton, but i don't know how to solve it without classes
<paule32> i tried: (connect button "clicked()" button-click)
<paule32> but then, button-click is unbound
dnhester26 has joined #commonlisp
<paule32> and line: 159
<paule32> 2. (connect SENDER SIGNAL FUNCTION)
slyrus has joined #commonlisp
slyrus has quit [Ping timeout: 256 seconds]
<paule32> i have this function:
<paule32> (defun button-click ()
<paule32> (my-packet:writeln (list "hhhhh")))
<paule32> and: (connect button "clicked()" (button-click))
<paule32> but, when i click on the button, i get app crash:
<paule32> Unhandled UNDEFINED-FUNCTION in thread #<SB-THREAD:THREAD "main thread" RUNNING
<paule32> {1001DD81D3}>:
<paule32> The function COMMON-LISP:NIL is undefined.
<bike> you probably need to pass CONNECT a function. right there you're calling the button-click function rather than passing it. the button-click call returns nil, which does not name a function, so it breaks.
<bike> are you still using an AI translator thing?
<paule32> bike: i tried chatgpt, but it is terrible
<bike> pretty sure i said this before, but: you've been on these channels for what, like, seven years? and you're still not understanding basic function call syntax? you need to find some other learning resource, probably in your native language.
<ixelp> dpaste: FT6B4K3DZ
<paule32> bike: the old school mens will be become smaller and smaller
<paule32> no young people would like use lisp, they use c++ or python
<paule32> the only alternative is to learn english, and follow some old insane ...
johnjaye has quit [Ping timeout: 260 seconds]
slyrus has joined #commonlisp
johnjaye has joined #commonlisp
<anthk_> idk why people likes python, the white syntax it's maddeining
<anthk_> and, for c++, it should have never been born, go should have been the 'natural' C successor
<beach> paule32: It is depressing to see that you haven't even learned to use conventional code layout as you have been told oh so many times.
tyson2 has quit [Remote host closed the connection]
slyrus has quit [Ping timeout: 246 seconds]
<paule32> beach: i used some other dsl, too. the style is more modern for me. you can take a look to my github account, and see some project, that have same style. i dont continuoisly use lisp. but for some hobby time, and the interesst of ai, i like lisp
<paule32> i am not professional programmer, so all will be twisted
dnhester26 has quit [Remote host closed the connection]
<aeth> anthk_: Python is a very good beginner language, it's just frustrating as soon as you stop being a beginner, imo. No performance, the indentation gets in the way of tool support, any cool concept you find online goes up against the one-way-to-do-it philosophy, etc.
<aeth> Of course, in a growth industry, there's always going to be more beginners than everyone else combined, so it's probably a good niche to target.
azimut has quit [Remote host closed the connection]
azimut has joined #commonlisp
<aeth> By contrast, in Common Lisp, you can do whatever you want with very few restrictions, mostly around the garbage collection (you can't just quickload a new garbage collector... it's too core to the runtime)
<aeth> There are languages that attempt to address that one particular point, but they give up a lot for that kind of flexibility.
jack_rabbit has quit [Ping timeout: 268 seconds]
<paule32> i would go to evening lunch, i am hungry, and back in few minutes, i hold on the line, and scroll back to read your ideas with my request. but sorry i forget it: happy new year :)
<BrokenCog> paule32: googling "suppress quicklisp load message" gave me this: https://stackoverflow.com/questions/6245765/suppress-loading-output-in-quicklisp
<ixelp> common lisp - Suppress "loading" output in Quicklisp - Stack Overflow
slyrus has joined #commonlisp
azimut has quit [Ping timeout: 240 seconds]
azimut has joined #commonlisp
slyrus has quit [Ping timeout: 256 seconds]
jack_rabbit has joined #commonlisp
slyrus has joined #commonlisp
dnhester26 has joined #commonlisp
X-Scale has quit [Ping timeout: 250 seconds]
<paule32> welcome back
doyougnu- has joined #commonlisp
doyougnu has quit [Ping timeout: 264 seconds]
<paule32> BrokenCog: thanks, i tried :silent t before, but it dont worked
<paule32> so i have used uiop
miracle_fox has joined #commonlisp
<paule32> so the problem is solved
miracle_fox has quit [Client Quit]
<paule32> the closer, next problem was, to "connect" qpushbutton with "clicked()" function
<BrokenCog> this works for me with sbcl: (ql:quickload '(:drakma :alexandria :cl-json :dexador) :silent t)
rgherdt has joined #commonlisp
azimut has quit [Read error: Connection reset by peer]
azimut has joined #commonlisp
tyson2 has joined #commonlisp
wacki has quit [Ping timeout: 268 seconds]
<paule32> strange
wacki has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
<dnhester26> beach: thanks, just saw your reply
<beach> Sure.
<josrr> paule32: I think Bike answered your question
<paule32> hello josrr
Lycurgus has joined #commonlisp
<paule32> yes, the uiop way works great
amb007 has quit [Ping timeout: 260 seconds]
<josrr> Hello paule32, I mean your "next problem"
<paule32> ah okay. i was behind. still at supress messages
vyrsh has joined #commonlisp
<Shinmera> New release: https://shinmera.github.io/random-sampling/Please consider supporting my work on Patreon: https://patreon.com/shinmera
triffid has quit [Ping timeout: 240 seconds]
<Shinmera> ah thanks weechat for hecking up that newline
<Shinmera> Here's the proper link https://shinmera.github.io/random-sampling/
<ixelp> Random Sampling
<vyrsh> #1=(nil. #1#)
triffid has joined #commonlisp
<aeth> ,(setf *print-circle* t) ,(progn '#1=(nil . #1#))
<ixelp> (setf *print-circle* t) => T, further (progn '#1=(nil . #1#)) => #1=(NIL . #1#)
dnhester26 has quit [Remote host closed the connection]
<vyrsh> ixelp use the eval here
<vyrsh> !eval
manicennui has joined #commonlisp
<vyrsh> !
tyson2 has quit [Remote host closed the connection]
<vyrsh> !help
<aeth> ,(+ 1 1)
<ixelp> (+ 1 1) => 2
<aeth> any ,(
<aeth> so if it's not ,( wrap it in a progn
<aeth> ,(progn pi)
<ixelp> (progn pi) => 3.141592653589793D0
<vyrsh> ,(+ 1 1)
<ixelp> (+ 1 1) => 2
<aeth> it's actually a really clever choice of character because that's just unquote
<vyrsh> niceeee
<aeth> as if everything else on IRC is being quasiquoted
<vyrsh> ,(ql:quickload "usocket")
<ixelp> (ql:quickload "usocket") ERROR: There is no package named "QL" .
<aeth> sandbox :-)
<aeth> otherwise you'd be able to get it to connect to IRC, which seems to be the thing everyone wants to do with unsandboxed eval bots
<Lycurgus> what actual code is it? it doesn respond to pm
triffid has quit [Remote host closed the connection]
<aeth> if you want to try to break the sandbox so nobody else can, that's probably more of a #lispcafe thing because it'd be noisy
triffid has joined #commonlisp
<Lycurgus> not maiden based i take it
<vyrsh> I'm reading OOP by sonya keene
<aeth> probably doesn't support queries by design so if the sandbox is broken a bunch of people will see it
<Lycurgus> wonder if she's still alive
<vyrsh> I read art of MOP but it was too complex for me so Ill attemp it after this
azimut has quit [Ping timeout: 240 seconds]
<Lycurgus> sandbox?
<vyrsh> I dont like when smart people die, its like alll that knowledge and experience lost... like when you put your computer to sleep but it loses power so your ram just loses everything
manwithluck has joined #commonlisp
<vyrsh> all the electrons there in the brain but just lost thier state
<Lycurgus> prolly not much loss in most cases
<aeth> Lycurgus: sandbox meaning in theory you can't really escape the restricted environment it's in
<aeth> I'm actually a bit disappointed that the bot is sandboxed because I have a utility library that makes a bunch of things much shorter, and you kind of need it to be short because it has to fit on an IRC line
<aeth> but it's very understable
<Lycurgus> never heard of keene after that 30 ya
<Lycurgus> or more
<vyrsh> 30ya?
<Lycurgus> years ago
<gilberth> ixelp: help
<ixelp> I fetch <TITLE> elements of URLs posted here. I also serve as a REPL bot happily evaluating Common Lisp forms when I find them. I listen to ",(" anywhere in a message or "," at the very beginning. You may also play with me in private. /query me, if you wish.
<gilberth> Have fun!
zxcvz has quit [Quit: zxcvz]
<aeth> ,pi
<ixelp> pi => 3.141592653589793D0
<aeth> ah, only at the beginning
<aeth> so almost everything, but not everything, requires a progn if it's outside of a ,(
<gilberth> Yes, I am paranoid about false positives.
<aeth> right, you'd basically need to really complicate the bot a ton
<aeth> by basically giving it a list of every global, as well as temporarily also knowing any defparameter, defvar, defconstant, etc., from earlier on the line
<aeth> in order for it to just work
<aeth> 10x the work for edge cases
<aeth> and even that wouldn't do ,'foo or whatever
azimut has joined #commonlisp
<aeth> but handling all literals would false positive it on 1,000 because it would read it as the literal 000 (i.e. 0) unless you made it do " ,literal" and even that would false positive sometimes
<gilberth> Also,people may just forget to put a space after a comma.
gorignak has joined #commonlisp
<vyrsh> is there a good book on like networking? im trying to use usocket but all the guides have so much different stuff... I get that if you want to have a server you need to start listening using socket-listen, then when a connection is made you accept the socket using socket-accept, now you can eithier send/recieve messages to this socket using socket-read and socket-write, or you can create a stream socket-stream, then you can just read and write to the
<vyrsh> stream. am I correct? is this the best/standard way to do this?
<vyrsh> hmm ok so what I just described is TCP
<bike> yeah, i think it's all pretty normal socket programming stuff, not especially specific to lisp
azimut has quit [Remote host closed the connection]
<Lycurgus> doug comers 3 vol on tcp/ip
azimut has joined #commonlisp
<Lycurgus> many others generally lang specific, e.g. twisted for python
<Shinmera> I need to rewrite maiden (again), sigh
<Shinmera> maybe one day
<vyrsh> do I need to read all 3 volmes of just the 3rd volume?
<vyrsh> Internetworking With TCP/IP Volume III: Client-Server Programming and Applications, Linux/POSIX Socket Version – 2000
<Shinmera> It's all pretty much the same primitives. I learned TCP networking with Java and the concepts translated pretty directly
<Shinmera> All the same underlying OS networking stack anyway
<vyrsh> Hi shinmera
<vyrsh> you wrote a game in common lisp right?
<Shinmera> multiple, sure
igemnace has quit [Quit: WeeChat 4.1.2]
okflo has joined #commonlisp
dnhester26 has joined #commonlisp
pranavats has left #commonlisp [Disconnected: Replaced by new connection]
pranavats has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
vyrsh has quit [Ping timeout: 264 seconds]
amb007 has joined #commonlisp
<paule32> i have a bid. can someone take a look to the script, and tell me why the application crash: https://github.com/paule32/little_lisper_gui/blob/main/src/german.lisp#L221 ?
<paule32> thanks
dnhester26 has quit [Remote host closed the connection]
tyson2 has joined #commonlisp
slyrus has quit [Remote host closed the connection]
<anthk_> beej has a book on C with networking which would be pretty much teh same
attila_lendvai has quit [Remote host closed the connection]
attila_lendvai has joined #commonlisp
<Shinmera> I'd much rather recommend any tutorial in another safe language, since memory management and error recovery add a ton of noise otherwise.
rgherdt has quit [Ping timeout: 240 seconds]
gorignak has quit [Quit: quit]
szkl has quit [Quit: Connection closed for inactivity]
khrbtxyz has quit [Ping timeout: 246 seconds]
gorignak has joined #commonlisp
slyrus has joined #commonlisp
khrbtxyz has joined #commonlisp
msavoritias has quit [Ping timeout: 264 seconds]
khrbtxyz has quit [Ping timeout: 246 seconds]
dnhester26 has joined #commonlisp
khrbtxyz has joined #commonlisp
dnhester26 has quit [Ping timeout: 252 seconds]
dnhester26 has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
slyrus has quit [Remote host closed the connection]
ronald has quit [Ping timeout: 264 seconds]
lucasta has joined #commonlisp
tyson2 has joined #commonlisp
<josrr> paule32: please read the answer that Bike wrote for you. Hint: (connect menu-file-exit "triggered()" #'button-click)
<paule32> josrr: thank you, it works
slyrus has joined #commonlisp
slyrus has quit [Ping timeout: 246 seconds]
Lycurgus has quit [Quit: leaving]
paule32 has left #commonlisp [Leaving]
mgl_ has joined #commonlisp
jrx has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.1.50)]
slyrus has joined #commonlisp
madnificent has quit [Read error: Connection reset by peer]
slyrus has quit [Ping timeout: 252 seconds]
tyson2 has quit [Remote host closed the connection]
Gleefre has quit [Ping timeout: 250 seconds]
slyrus has joined #commonlisp
slyrus has quit [Ping timeout: 260 seconds]
slyrus has joined #commonlisp
anthk_ has quit [Quit: anthk_]
anthk_ has joined #commonlisp
mgl_ has quit [Ping timeout: 260 seconds]
tyson2 has joined #commonlisp
yitzi has quit [Remote host closed the connection]
mgl_ has joined #commonlisp
<jcowan> aeth: Lua interns its immutable strings, but Java and JS do not.
<jcowan> epony: "acme" no more superseded "sam" than "vi" superseded "emacs"
cage has quit [Quit: rcirc on GNU Emacs 29.1]
<AmyMalik> what the fuck
<AmyMalik> somebody get epony a mental health evaluation!
<jcowan> It would be interesting to know whether acme or sam has more users (on Plan 9) at present
ixelp has quit [Ping timeout: 264 seconds]
gilberth has quit [Ping timeout: 268 seconds]
ixelp has joined #commonlisp
gilberth has joined #commonlisp
pranavats has left #commonlisp [Disconnected: Replaced by new connection]
pranavats has joined #commonlisp
khrbtxyz has quit [Ping timeout: 256 seconds]
khrbtxyz has joined #commonlisp
Odin-DECK has joined #commonlisp
rendar has quit [Ping timeout: 256 seconds]
ym has joined #commonlisp
bitmapper has joined #commonlisp
czy has quit [Remote host closed the connection]
slyrus has quit [Remote host closed the connection]
_cymew_ has quit [Ping timeout: 264 seconds]
lucasta has quit [Remote host closed the connection]
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
tyson2 has quit [Remote host closed the connection]
akoana has joined #commonlisp
akoana has quit [Client Quit]
akoana has joined #commonlisp
slyrus has joined #commonlisp
cstml has joined #commonlisp
Odin-DECK has quit [Quit: Not]
cstml has quit [Ping timeout: 246 seconds]
tyson2 has joined #commonlisp
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
<yottabyte> Does slime automatically clear the buffer after some number of lines, like if I'm potentially printing tens of thousands of lines for logging purposes, I don't want the buffer to get larger and larger and my computer to run out of memory or something
slyrus has quit [Remote host closed the connection]
slyrus has joined #commonlisp
mgl_ has quit [Ping timeout: 260 seconds]
traidare has quit [Ping timeout: 268 seconds]
<bike> i don't think it does it automatically, but you can do slime-repl-clear-buffer (C-c M-o)
dnhester26 has joined #commonlisp
<edgar-rft> the only thing I can find via `M-x apropos slime-repl' is the function `slime-repl-clear-output' that deletes the output inserted since the last input.
<edgar-rft> there's also `slime-repl-clear-buffer' that deletes the entire slime-repl-buffer and displays a new prompt
jonatack has joined #commonlisp
herjazz has joined #commonlisp
khrbtxyz has quit [Ping timeout: 260 seconds]
<yottabyte> so I have to write that into my code every so often?
khrbtxyz has joined #commonlisp
<thuna`> yottabyte: It's a command so you can just bind it to some key in slime-repl-mode-hook
BrokenCog has quit [Quit: leaving]
BrokenCog has joined #commonlisp
khrbtxyz has quit [Ping timeout: 240 seconds]
khrbtxyz has joined #commonlisp
<edgar-rft> the "usual" solution for looking at huge files is to write a Common Lisp "print" function that prints a specific number of lines and then asks the user to press a key for printing the next chunk of lines, like the "more" and "less" shell commands
shka has quit [Ping timeout: 264 seconds]
<edgar-rft> ...there probably already exists such a thing but I just can't remember where it was
<thuna`> If the goal is a tui, slime-repl-clear-output would be better, I guess
<yottabyte> when I try slime-repl-clear-buffer gives me a Wrong type argument: integer-or-marker-p, nil
<yottabyte> and it doesn't clear all of the printed output thus far
<thuna`> yottabyte: You need to run that function in the repl buffer
<thuna`> Or, again, *not* run it in a loop, and instead just call the command whenever the buffer is getting too full for your liking
attila_lendvai has quit [Ping timeout: 256 seconds]
<yottabyte> right
<yottabyte> I'm just running a long running computation, and it appears my emacs will run out of memory, as it's increasing in usage. I thought it was from the buffer, but after clearing it, the memory usage has not gone dow
<yottabyte> down*
<yottabyte> hmmm actually maybe it did help
tyson2 has quit [Remote host closed the connection]
czy has joined #commonlisp
khrbtxyz has quit [Ping timeout: 256 seconds]
khrbtxyz has joined #commonlisp
rendar has joined #commonlisp
amb007 has quit [Ping timeout: 240 seconds]
Lycurgus has joined #commonlisp
dino_tutter has quit [Ping timeout: 260 seconds]