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/>
donleo has quit [Ping timeout: 268 seconds]
lucasta has joined #commonlisp
gooba_ has quit [Remote host closed the connection]
gooba has joined #commonlisp
lucasta has quit [Quit: Leaving]
lucasta has joined #commonlisp
lucasta has quit [Remote host closed the connection]
amb007 has joined #commonlisp
herjazz has quit [Quit: leaving]
amb007 has quit [Ping timeout: 276 seconds]
akoana has quit [Quit: leaving]
<Mondenkind> beach: a while ago, you asked for examples of loop mis-indentation in emacs. Here's one I just encountered. I want to comment the termination condition, but the comment is indented as though it were attached to the preceding 'do' clause. I think it's generally much more usual for a comment to precede the code it describes than to follow it
<Mondenkind> oops, I forgot to link it. https://0x0.st/HGrn.txt
Lord_of_Life has quit [Ping timeout: 268 seconds]
Lord_of_Life has joined #commonlisp
may has joined #commonlisp
pfdietz has quit [Ping timeout: 250 seconds]
random-nick has quit [Ping timeout: 260 seconds]
AetherWind has joined #commonlisp
Pixel_Outlaw has joined #commonlisp
makomo has quit [Ping timeout: 252 seconds]
tyson2 has joined #commonlisp
rgherdt has joined #commonlisp
amb007 has joined #commonlisp
amb007 has quit [Ping timeout: 260 seconds]
ronald has joined #commonlisp
bitmapper has quit [Quit: Connection closed for inactivity]
josrr has quit [Remote host closed the connection]
rgherdt has quit [Ping timeout: 260 seconds]
vyrsh has joined #commonlisp
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
mzan has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
mzan has joined #commonlisp
terrorjack has joined #commonlisp
may_ has joined #commonlisp
st_aldini1 has joined #commonlisp
may has quit [Ping timeout: 260 seconds]
st_aldini has quit [Ping timeout: 256 seconds]
st_aldini1 is now known as st_aldini
<beach> Mondenkind: Indeed. Thanks.
<beach> Indentation turns out to be a very hard problem.
<beach> Like, in this case, it would seem plausible as the comment is written, that the next non-comment line would be another form in the DO clause. But then when the WHILE LOOP keyword appears, the assumption is wrong. So there has to be a way to fix the indentation of the comment later.
ym has quit [Ping timeout: 276 seconds]
triffid has quit [Ping timeout: 240 seconds]
triffid has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
czy` has joined #commonlisp
NicknameJohn has joined #commonlisp
Pixel_Outlaw has quit [Remote host closed the connection]
NicknameJohn has quit [Ping timeout: 260 seconds]
decweb has quit [Ping timeout: 260 seconds]
szkl has joined #commonlisp
pfdietz has joined #commonlisp
Pixel_Outlaw has joined #commonlisp
pfdietz has quit [Quit: Client closed]
wacki has joined #commonlisp
<beach> Did we agree that it is allowed to add keyword parameters to standard functions that don't already have any?
<beach> I mean, if you are implementing a Common Lisp system.
triffid has quit [Remote host closed the connection]
triffid has joined #commonlisp
ronald has quit [Ping timeout: 264 seconds]
<Mondenkind> beach: I would be slightly reticent to do so, because there is the possibility that two implementations would extend the same standard function in incompatible ways. This can happen with any nonstandard extension, of course, but it's less likely if you put stuff in my-implementation-ext:
<beach> I would think that, as long as the lambda list is compatible with the standard one, then any calls to the function without any keyword arguments would still be valid. And only implementation-specific functions would call it with the keyword argument.
<beach> But that wasn't quite my question. I was wondering whether we found evidence one way or the other in the standard.
triffid has quit [Remote host closed the connection]
may__ has joined #commonlisp
triffid has joined #commonlisp
occ has joined #commonlisp
may_ has quit [Ping timeout: 240 seconds]
igemnace has joined #commonlisp
<beach> Here is my specific use case: The standard function ENSURE-GENERIC-FUNCTION has an ENVIRONMENT keyword parameter. Presumably, that parameter is used in order to first look up the FUNCTION-NAME in the environment given, and if there is not such function in the environment, define it once it is created. But FDEFINITION and (SETF FDEFINITION) do not have any ENVIRONMENT keyword parameter, so it would seem reasonable to extend them.
<Mondenkind> beach: my point was that two implementations could assign a different meaning to (standard-function :nonstandard-keyword whatever)
<Mondenkind> I thought you meant something different by 'allowed'
<beach> But, again, it doesn't matter of two implementations assign different meanings, as long as portable code does not use the keyword argument. It would be used only by implementation-specific code.
<Mondenkind> in that case, why not make the implementation-specific code call sicl-ext:fdefinition instead of cl:fdefinition?
<beach> That is an option, but again, that was not my question.
ronald has joined #commonlisp
<vyrsh> CHATHISTORY
<vyrsh> hmm
<beach> Are you looking for the logs?
<beach> vyrsh: Try irclog.tymoon.eu if so.
<vyrsh> I found it, the link in the description
<vyrsh> beach: thanks
<beach> Sure.
igemnace has quit [Read error: Connection reset by peer]
NicknameJohn has joined #commonlisp
pve has joined #commonlisp
vyrsh has quit [Ping timeout: 246 seconds]
amb007 has joined #commonlisp
amb007 has quit [Ping timeout: 264 seconds]
amb007 has joined #commonlisp
amb007 has quit [Ping timeout: 260 seconds]
igemnace has joined #commonlisp
may__ has quit [Ping timeout: 252 seconds]
amb007 has joined #commonlisp
triffid has quit [Ping timeout: 240 seconds]
azimut has quit [Ping timeout: 240 seconds]
occ has quit [Ping timeout: 246 seconds]
Pixel_Outlaw has quit [Quit: Leaving]
snits_ has quit [Quit: No Ping reply in 180 seconds.]
snits has joined #commonlisp
triffid has joined #commonlisp
szkl has quit [Quit: Connection closed for inactivity]
paule32 has joined #commonlisp
<paule32> hello, and good morning
<paule32> I have download an asdf package, and depack it in a local folder
<paule32> how can I install it ?
<paule32> is it enough, to write: (asdf-install:install :osicat) ?
flip214 is now known as flip768
varjag has joined #commonlisp
bendersteed has joined #commonlisp
<paule32> ah. okay. sqlite3.dll was missing
szkl has joined #commonlisp
<anthk_> on windows using msys2 would be easier
mgl_ has joined #commonlisp
dino_tutter has joined #commonlisp
waleee has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
m5zs7k has quit [Ping timeout: 260 seconds]
m5zs7k has joined #commonlisp
waleee has quit [Ping timeout: 240 seconds]
donleo has joined #commonlisp
AetherWind has quit [Ping timeout: 252 seconds]
waleee has joined #commonlisp
_cymew_ has joined #commonlisp
herjazz has joined #commonlisp
shka has joined #commonlisp
dcb has quit [Quit: Connection closed for inactivity]
waleee has quit [Ping timeout: 256 seconds]
traidare has joined #commonlisp
waleee has joined #commonlisp
<dnhester26> Good morning
<dnhester26> I'm trying to define a function that takes a (&rest rest) argument, yet when I pass in the argument with apply I get "The function NAME is called with odd number of keyword arguments."
<dnhester26> Any ideas of what am doing wrong?
<beach> Show your function and how you call it.
<dnhester26> one sec, closed emacs by mistake
<beach> If your function takes &KEY arguments, there still has to be an even number of arguments after the required and the &OPTIONAL arguments.
<dnhester26> I just added :rest now, but I thought it should work without that
<beach> What is :REST JOIN-CLAUSES?
<beach> REST is not a keyword argument.
<dnhester26> right, I just added that now, if I remove it, i get the compile error
<dnhester26> One sec, I'll make a new pastebin
<dnhester26> I get the odd number of keyword arguments without it
<beach> OK, several things....
<beach> First, if you have (apply <function> (list ...)), then you have a fixed number of arguments, and you can use (funcall <function> ...) instead.
<dnhester26> do I even need to use apply there?
<dnhester26> can't I just do (join ...)
<dnhester26> It's what I was doing before....
<beach> Sure, if the function is a function name, you can just call it.
<beach> But your problem is that join-clauses is just another argument, so in fact, you have an odd number of keyword arguments.
<dnhester26> ^ I don't understand what you mean
<beach> You call JOIN with given-class "LEFT" :on-source on-source :on-target on-target :limit :limit :where where join-clauses. Count and you will see.
<beach> That's 11 arguments, two of which are required. That leaves 9 which is odd.
<dnhester26> what I'm trying to do is be able to do something like this `(select 'user (left-join 'book)(left-join 'preferences)(left-join 'some-other-class))`
bendersteed has quit [Quit: bendersteed]
bendersteed has joined #commonlisp
<dnhester26> I thought join-clauses is &rest...
<beach> Like I told you, you can't pass in a REST argument.
<dnhester26> it's not a keyword argument, it's just another argument
<beach> The REST parameter is just built from the arguments.
<beach> But it is interpreted as a keyword argument, because it appears after the required arguments.
<dnhester26> ahh, so rest is just a list of all the non required arguments? it's not that it allows for functions to take arbitrarily any number of additional arguments???
<dnhester26> so rest in essence is all the optional and keyword arguments, but it doesn't allow to simply add more and more non specified arguments in the lambda list. Is that correct?
<beach> In your example of what you are trying to do, you pass a single argument to each call of LEFT-JOIN so there is no point in having keywords parameters then.
<beach> &REST is a list of all the arguments that are not required and not &OPTIONAL.
<beach> It allow for the function to take in an arbitrary number of arguments, but if it also take &KEY arguments, there must be an even number of them.
<dnhester26> beach: oh, sorry, that was just listing a number of rest arguments for some function, all of those I want to be able to take any number of arguments
<beach> What is a "rest argument". There are &REST parameters, but not rest arguments.
<beach> You can't pass in REST as an argument. It is built from the arguments you pass in.
<dnhester26> so I can't take some of them being key arguments and some being non key arguments?
<beach> Correct, all non-&KEY arguments must correspond to either required or &OPTIONAL parameters.
<beach> ,(flet ((hello (a b &rest c) (list a b c))) (hello 1 2 3 4 5 6 7))
<ixelp> (flet ((hello (a b &rest c) (list a b c))) (hello 1 2 3 4 5 6 7)) => (1 2 (3 4 5 6 7))
<beach> Here is an example where the &REST parameter contains an odd number of elements, because this function does not have &KEY arguments.
<beach> er, &KEY parameters.
<dnhester26> hm, I wanted to be able to take in optionally certain input to the function, so since there are several optional inputs, I thought abiout using keys, yet I wanted all non keyword parameters to be gathered in a list. How may I go about designing such a thing?
<beach> There is no way to distinguish between a keyword argument a different kind of argument by its type. Everything beyond the required and the &OPTIONAL arguments is taken as a keyword arguments.
<dnhester26> or just resort to providing another keyword parameter which expects as its input a list? but that seems ugly...
<beach> Well, I didn't understand what you were trying to do, so I can't be more specific.
<beach> I don't know what (select 'user...) is supposed to be.
AndreiDuma has joined #commonlisp
waleee has quit [Ping timeout: 276 seconds]
<dnhester26> I am trying to make a sql generator from classes that allows for joins and joins within joins
waleee has joined #commonlisp
<dnhester26> ok, thanks, that's enough, I came up with an idea
<beach> OK, but my knowledge of SQL is 40 years old, so I no longer know what that means.
<dnhester26> Thank you for the explanation
<beach> Sure.
<dnhester26> I think it would be useful to add a couple of sections in the technical reference to clarify this with examples
<dnhester26> I will add the sections and probably ask for guidance on the actual writing
<beach> OK.
<dnhester26> ,(flet ((hello (a b &rest &key c) (list a b c))) (hello 1 2 :c 3 :d 4 :e 5 :f 6 :g 7))
<ixelp> (flet ((hello (a b &rest &key c) (list a b c))) (hello 1 2 :c 3 :d 4 :e 5 :f 6 :g 7)) ERROR: While compiling an anonymous function : ↩ Invalid lambda-list (A B &REST &KEY C) in FLET local function HELLO
<dnhester26> hm?
<beach> There is no REST parameter, only the &REST lambda-list keyword.
<dnhester26> once there are keywords, we cannot add any non specified keyword parameters and catch them with &rest?
<dnhester26> ah
<beach> Yes, you can, provided you have &allow-other-keys.
<dnhester26> ,(flet ((hello (a b &rest rest &key c) (list a b c rest))) (hello 1 2 :c 3 :d 4 :e 5 :f 6 :g 7))
<ixelp> (flet ((hello (a b &rest rest &key c) (list a b c rest))) (hello 1 2 :c 3 :d 4 :e 5 :f 6 :g 7)) ERROR: Incorrect keyword arguments in (:C 3 :D 4 :E 5 :F 6 :G 7) .
<beach> You failed to put &ALLOW-OTHER-KEYS.
<dnhester26> ,(flet ((hello (a b &rest rest &key c &allow-other-keys t) (list a b c rest))) (hello 1 2 :c 3 :d 4 :e 5 :f 6 :g 7))
<ixelp> (flet ((hello (a b &rest rest &key c &allow-other-keys t) (list a b c rest))) (hello 1 2 :c 3 :d 4 :e 5 :f 6 :g 7)) ERROR: While compiling an anonymous function : ↩ Invalid lambda-list (A B &REST REST &KEY C &ALLOW-OTHER-KEYS T) in FLET local function HELLO
<hayley> Just &allow-other-keys, no T.
<beach> There is no parameter associated with &ALLOW-OTHER-KEYS.
<dnhester26> ,(flet ((hello (a b &rest rest &key c &allow-other-keys) (list a b c rest))) (hello 1 2 :c 3 :d 4 :e 5 :f 6 :g 7))
<ixelp> (flet ((hello (a b &rest rest &key c &allow-other-keys) (list a b c rest))) (hello 1 2 :c 3 :d 4 :e 5 :f 6 :g 7)) => (1 2 3 (:C 3 :D 4 :E 5 :F 6 :G 7))
<dnhester26> ok, thanks, adding those as examples and writing notes on them
<dnhester26> ,(flet ((hello (a b &rest rest &key c &allow-other-keys) (list a b c rest))) (hello 1 2 :c 3 :d 4 :e 5 :f 6 :g 7))
<ixelp> (flet ((hello (a b &rest rest &key c &allow-other-keys) (list a b c rest))) (hello 1 2 :c 3 :d 4 :e 5 :f 6 :g 7)) => (1 2 3 (:C 3 :D 4 :E 5 :F 6 :G 7))
<dnhester26> the additional notes and examples and below
<dnhester26> it will not show up in the page until we fix all the broken links from before though, that's why I'm linking to the source code... but github renders the markdown anyway
<beach> There is at most one &rest parameter, so use the singular form.
<beach> "note that ... a possible &rest parameter must occur before..."
<dnhester26> ok fixed that in the first sentence
<beach> "all the rest parameters" doesn't make sense.
<beach> I think you may be confusing "parameter" and "argument".
<dnhester26> ok, changing all to singular
<dnhester26> what is the difference and where is it stated?
<beach> Try the glossary.
<dnhester26> ok
<dnhester26> got it, will re read and edit the text accordingly
<beach> Yes, the glossary entries for "argument" and "parameter" are quite clear.
<beach> There is also no such thing as "rest argument" so you can't just replace parameter by argument.
<beach> I guess you can define it.
<beach> A "rest argument" is an argument that occurs in the argument list in a position that is greater than the number of required parameters plus the number of &OPTIONAL parameters.
AetherWind has joined #commonlisp
mesaoptimizer has quit [Ping timeout: 256 seconds]
<beach> dnhester26: It is not clear whether you should mention it here, but it is not quite true that &ALLOW-OTHER-KEYS is required in order for the function to take additional keyword arguments. You can also do this: ,(flet ((foo (a b &rest r &key c) (list a b c r))) (foo 1 2 :allow-other-keys t :c 234 :d 345 :c 11))
<ixelp> (flet ((foo (a b &rest r &key c) (list a b c r))) (foo 1 2 :allow-other-keys t :c 234 :d 345 :c 11)) => (1 2 234 (:ALLOW-OTHER-KEYS T :C 234 :D 345 :C 11))
<beach> dnhester26: Also note in that example that there can be more than one occurrence of a particular keyword argument, and it is the first one that is used then.
<beach> This features allow you to override keyword argument when you do thing like (apply <function> :c 444 r)
<beach> ...typically used to "default" certain arguments like this: (defmethod mumble :around (x y &rest initargs &key (a 234) &allow-other-keys) (apply #'call-next-method :a a initargs))
<beach> Then the primary method will have :a 234 as a keyword argument, and it may or may not have another :a <something> later on in the argument list.
<dnhester26> beach: ^ is there a parenthesis missing?
<dnhester26> :around?
<beach> Yes, an :AROUND method.
<beach> Part of the standard method combination.
rgherdt has joined #commonlisp
<dnhester26> ah ok, need to learn about CLOS, methods, and generics... still have ways to go
<beach> Page 102 in Keene's book.
<dnhester26> thanks
<beach> Sure. Good luck.
triffid has quit [Ping timeout: 240 seconds]
<dnhester26> thanks
<dnhester26> fixed arguments/parameters and plural vs singular for the rest parameter, and added some extra explanations
<dnhester26> the overriding of keywords probably should be in the keyword parameter examples, right?
<beach> I suppose. It is hard to say what the right place is because the use is a bit advanced.
<beach> I guess it could be signaled as such.
<dnhester26> oh, I missed things you wrote above while I was editing, catching up on your comments now
<beach> "do not have to have keys" is a bit strange.
<beach> "are not taken to be keyword arguments" would be better I think.
<beach> "passed in as a list" is ambiguous. I would write "passed in, as a list".
<beach> There are several minor grammar issues, but I will be busy in a few minutes, so further proofreading may have to wait. Perhaps others an help out.
makomo has joined #commonlisp
<beach> "Even if there is just one argument in addition to the required and the optional arguments, the rest parameter still contains a list, in this case with a single element in it"
<beach> "&allow-other-eys does not take another parameter.." (not argument).
<dnhester26> btw you should be able to refresh the page to see the updates
<beach> You might use the subjunctive form of the verb where appropriate, in case some readers (like me) are sensitive to that.
<beach> You need to be more careful about distinguishing the total number of arguments and the number of arguments beyond the required and the optional ones.
triffid has joined #commonlisp
<beach> And you forget to include the optional parameters in the last "Note".
<beach> That's why I suggested giving a name to the arguments beyond the required and optional ones.
<beach> OK, I'm off for a while.
<dnhester26> fixed some more, but I need to work now
traidare has quit [Ping timeout: 276 seconds]
mzan has quit [Ping timeout: 276 seconds]
rtypo has joined #commonlisp
traidare has joined #commonlisp
dnhester26 has quit [Read error: Connection reset by peer]
yitzi has joined #commonlisp
mzan has joined #commonlisp
AndreiDuma has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
markb1 has quit [Ping timeout: 260 seconds]
markb1 has joined #commonlisp
dnhester26 has joined #commonlisp
yitzi has quit [Remote host closed the connection]
random-nick has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
markb1 has quit [Ping timeout: 260 seconds]
traidare has quit [Ping timeout: 252 seconds]
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
yitzi has joined #commonlisp
semarie has quit [Quit: WeeChat 4.1.2]
semarie has joined #commonlisp
markb1 has joined #commonlisp
markb1 has quit [Max SendQ exceeded]
triffid has quit [Ping timeout: 240 seconds]
bjorkintosh has joined #commonlisp
bjorkintosh has joined #commonlisp
bjorkintosh has quit [Changing host]
ym has joined #commonlisp
kevingal has joined #commonlisp
<phantomics_> Has anyone used CL to poll *nix device files like the ones in /dev/input? I'm trying to do this but CL always seems to see the files as zero-length. Example code:
<phantomics_> (loop :while t :do (with-open-file (data "/dev/input/event3" :direction :input :element-type '(unsigned-byte 8)) (print (file-length data))) (sleep 0.5))
kevingal_ has joined #commonlisp
<phantomics_> This just prints zeroes
<phantomics_> Whereas with cat /dev/input/event3 | hexdump -C I see the binary data that comes in when input is received
Odin- has quit [Read error: Connection reset by peer]
tyson2 has joined #commonlisp
triffid has joined #commonlisp
triffid has quit [Remote host closed the connection]
triffid has joined #commonlisp
markb1 has joined #commonlisp
AndreiDuma has joined #commonlisp
donleo has quit [Quit: Leaving]
<varjag> phantomics_: hmm i remember doing that but not sure if it was a c or lisp project…
<varjag> lemme check
<varjag> wait what, are you using file-length on devfs?
<varjag> no no
<varjag> just read stuff
<varjag> in this case you need sizeof(struct input_event)
<phantomics_> So then just try reading the file at intervals, and if there is data to read then read it until there's none left?
azimut has joined #commonlisp
donleo has joined #commonlisp
<varjag> no you know how much data you need, just do a blocking read
occ has joined #commonlisp
<phantomics_> Ok, the length is variable though, bluetooth is really weird
decweb has joined #commonlisp
clothespin has joined #commonlisp
<varjag> oh is it? i thought they were fairly static
<ixelp> input.h « linux « uapi « include - kernel/git/torvalds/linux.git - Linux kernel source tree
<varjag> this is your guy
<clothespin> is anybody working on source code analysis tools which can optimize systems by providing a graph of definition dependencies?
<varjag> phantomics_: at least they were fixed i think when i used it for keyboard events
shka has quit [Quit: Konversation terminated!]
<beach> clothespin: How would such a graph be used to optimize?
<clothespin> if you had a pile of source code not in any particular order it could be use to order the code into a system
<clothespin> or if you have been working in an image for some time and have been putting definitions in random places, it could be used to give better homes to source definitions for rebuilding
<beach> Oh, so not "optimize" in terms of improving performance?
<beach> Yes, I see.
<clothespin> no, not runtime performance
<clothespin> optimization in terms of organization of modules
<clothespin> and layers
<beach> It sounds like you have got yourself a project. Not sure how to go about it though. And of course, it is impossible to get a complete graph in general.
triffid has quit [Remote host closed the connection]
<clothespin> i've got projects
josrr has joined #commonlisp
shka has joined #commonlisp
<clothespin> certainly this has been a problem since the 1980s
<beach> The fact that you have projects?
triffid has joined #commonlisp
<clothespin> rebuilding images from sources
markb1 has quit [Ping timeout: 256 seconds]
<clothespin> it surprises me that the lispers that i ask have not seen such things
<clothespin> maybe i'm just exceptionally poor at organizing my sources
traidare has joined #commonlisp
herjazz has quit [Quit: leaving]
markb1 has joined #commonlisp
attila_lendvai has joined #commonlisp
<dnhester26> How can I do this: say I have a method ,(defmethod my-method ((obj standard-class) &rest rest)) ,(defmethod my-method ((obj symbol) &rest rest) (my-method (find-class obj) rest)) will have rest be (rest), which itself is a list, so it'll be ((a b c)), is there no other way than a macro with `,@`?
<ixelp> (defmethod my-method ((obj standard-class) &rest rest)) ;Compiler warnings : ↩ ; In (MY-METHOD (STANDARD-CLASS)) inside an anonymous lambda form: Unused lexical variable REST ↩ => #<STANDARD-METHOD MY-METHOD (STANDARD-CLASS)>, further (defmethod my-method ((obj symbol) &rest rest) (my-method (find-class obj) rest)) => #<STANDARD-METHOD MY-METHOD (SYMBOL)>
<dnhester26> I would like to just call the first method from the second one with the rest of arguments going through as they were received and not as a list
<beach> Use APPLY.
<dnhester26> ah so apply works even on methods, not just functions
<dnhester26> thanks
<beach> Methods are not functional objects. Methods are attached to generic functions which are functions. When you call or apply a function, it can be an ordinary function or a generic function.
<beach> The last argument to APPLY is a list of remaining arguments passed to the function.
<beach> So (apply #'my-method (find-class obj) rest), but it really should not be called my-method, but my-generic-function.
Odin-FOO has joined #commonlisp
<beach> And I strongly encourage you to supply the DEFGENERIC form explicitly.
<dnhester26> ah ok, thanks
<beach> Unfortunately, the CLOS specification requires the generic function to be created implicitly if a method is created but the generic function does not exist.
Lycurgus has quit [Quit: leaving]
azimut_ has joined #commonlisp
<beach> It is one of those "convenience" rules that we have gotten rid of ever since early Fortran. But some of them remain. And as usual, a simple typo can then create hours of debugging time.
azimut has quit [Ping timeout: 240 seconds]
<beach> If I remember what has been said here, then SBCL used to signal a style warning, but no longer does.
<beach> Using SETQ on an undefined variable was another such "convenience" rule, and I believe most Common Lisp implementations do not signal an error, and instead implicitly creates the variable.
azimut_ has quit [Remote host closed the connection]
<beach> *create
azimut has joined #commonlisp
dcb has joined #commonlisp
<dnhester26> thanks for the explanation, it would be nice to add those things to the apply docs and examples, but unfortunately now I don't have the time to do it
Lyrebird has joined #commonlisp
AetherWind has quit [Ping timeout: 268 seconds]
Lyrebird has quit [Remote host closed the connection]
<phantomics_> varjag: I'm sure keyboard events are more regular in length, BT events are inconsistent, some HID media control events can have 2x the length of others
AetherWind has joined #commonlisp
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
Posterdati has quit [Read error: Connection reset by peer]
Posterdati has joined #commonlisp
<varjag> phantomics_: a keypress is typically several input events, a combination of keydown, keyrepeat, keyup and such
<varjag> each of them though is a fixed input_event
<phantomics_> Ok
zxcvz has joined #commonlisp
AetherWind has quit [Ping timeout: 252 seconds]
AetherWind has joined #commonlisp
Lyrebird has joined #commonlisp
triffid has quit [Quit: triffid]
pfdietz has joined #commonlisp
AndreiDuma has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
AndreiDuma has joined #commonlisp
AndreiDuma has quit [Client Quit]
AetherWind has quit [Quit: Lost terminal]
AndreiDuma has joined #commonlisp
vyrsh has joined #commonlisp
markb1 has quit [Ping timeout: 256 seconds]
Lyrebird has quit [Quit: leaving]
AetherWind has joined #commonlisp
markb1 has joined #commonlisp
igemnace has quit [Read error: Connection reset by peer]
igemnace has joined #commonlisp
Odin-FOO is now known as Odin-WRK
occ has quit [Ping timeout: 256 seconds]
mzan has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
mzan has joined #commonlisp
AndreiDuma has quit [Remote host closed the connection]
AndreiDuma has joined #commonlisp
azimut_ has joined #commonlisp
jonatack has quit [Ping timeout: 264 seconds]
azimut has quit [Ping timeout: 240 seconds]
azimut_ has quit [Remote host closed the connection]
azimut has joined #commonlisp
mzan has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
mzan has joined #commonlisp
bendersteed has quit [Quit: bendersteed]
Odin-WRK has quit [Ping timeout: 252 seconds]
AndreiDuma has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
may__ has joined #commonlisp
dnhester26 has quit []
NicknameJohn has quit [Ping timeout: 252 seconds]
zxcvz has quit [Quit: zxcvz]
yitzi has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
<beach> dnhester26: I think I have a solution for the broken link. But I probably won't attempt to fix it today. It's a bit involved.
<dnhester26> ok great, let me know if you need help, though also here today and tomorrow I need to focus on making progress on some other front, so my response may be delayed
vyrsh has quit [Quit: Konversation terminated!]
flip768 is now known as flip214
<beach> I think I can handle it, but thanks for the offer.
<dnhester26> great, all the best
AetherWind has quit [Quit: leaving]
dnhester26 has quit [Remote host closed the connection]
markb1 has quit [Ping timeout: 264 seconds]
varjag has quit [Quit: ERC (IRC client for Emacs 27.1)]
jack_rabbit has quit [Ping timeout: 260 seconds]
jack_rabbit has joined #commonlisp
dnhester26 has joined #commonlisp
pve has quit [Ping timeout: 256 seconds]
waleee has quit [Ping timeout: 240 seconds]
AndreiDuma has joined #commonlisp
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
dnhester26 has quit [Remote host closed the connection]
dnhester26 has joined #commonlisp
dnhester26 has quit [Client Quit]
NicknameJohn has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
pve has joined #commonlisp
yitzi has joined #commonlisp
shka has quit [Quit: Konversation terminated!]
yewscion has joined #commonlisp
shka has joined #commonlisp
may_ has joined #commonlisp
shka has quit [Client Quit]
shka has joined #commonlisp
may__ has quit [Ping timeout: 264 seconds]
shka has quit [Client Quit]
jonatack has joined #commonlisp
shka has joined #commonlisp
prokhor has quit [Remote host closed the connection]
Pixel_Outlaw has joined #commonlisp
AndreiDuma has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
cage has joined #commonlisp
rgherdt_ has joined #commonlisp
rgherdt has quit [Read error: Connection reset by peer]
wacki has joined #commonlisp
mathrick has quit [Ping timeout: 252 seconds]
pfdietz has quit [Quit: Client closed]
amb007 has quit [Ping timeout: 264 seconds]
amb007 has joined #commonlisp
mathrick has joined #commonlisp
mgl_ has quit [Ping timeout: 268 seconds]
tyson2 has joined #commonlisp
inline__ has joined #commonlisp
Inline has quit [Killed (NickServ (GHOST command used by inline__))]
inline__ is now known as Inline
mgl_ has joined #commonlisp
Odin-LAP has joined #commonlisp
waleee has joined #commonlisp
kevingal has quit [Ping timeout: 256 seconds]
tyson2 has quit [Remote host closed the connection]
kevingal_ has quit [Ping timeout: 264 seconds]
yitzi has quit [Remote host closed the connection]
dtman34_ has quit [Quit: ZNC 1.8.2+deb3.1 - https://znc.in]
dtman34 has joined #commonlisp
yitzi has joined #commonlisp
dra has joined #commonlisp
may__ has joined #commonlisp
may_ has quit [Ping timeout: 260 seconds]
jonatack has quit [Ping timeout: 256 seconds]
yewscion has quit [Ping timeout: 264 seconds]
<BrokenCog> I'm trying to figure out how to change the locatoin of where quickproject creates a new project. Currently it is in the root of the home directory. I changed quickLisp's *local-project-directories*, but, this doesn't seem to affect quickproject's root of new projects.
<bike> does it not just use *default-pathname-defaults*?
<BrokenCog> not sure.
<BrokenCog> https://xach.com/lisp/quickproject/ this describes that being prefixed onto project pathname when hooks are called, so, presumably maybe during creation as well.
<ixelp> Quickproject - create a Common Lisp project skeleton
<BrokenCog> ah, *template-directory* might be relevant.
tyson2 has joined #commonlisp
<BrokenCog> hmm, changing templaet-direcotry doesn't change make-project's target directory
<BrokenCog> lol. changing *default-pathname-defaults* results in (make-project "newproj") trying to create the path "newproj/*default-pathname-defaults*" ...
<bike> according to the documentation there, *template-directory* is what the new project is copied out of, rather than into
<bike> what did you change *default-pathname-defaults* to exactly
<BrokenCog> Without any changes, make-project created: %HOME%\newproj ... I want to change it to #P"D:/Projects"
varjag has joined #commonlisp
<BrokenCog> changing default-pathname-defaults to D:/Projects resulted in newproj being created in %HOME%
<BrokenCog> which might mean that it didn't see an existing project, or something else.
<BrokenCog> yeah, template-directory is NOT the correct variable.
yewscion has joined #commonlisp
<BrokenCog> That's where the template files are copied from into the target project directory.
<BrokenCog> this seems to clobber whatever *default-pathname-defaults* is:
<BrokenCog> (let ((*default-pathname-defaults* (truename pathname))
triffid has joined #commonlisp
<josrr> BrokenCog: (let ((*default-pathname-defaults* #P"/tmp/")) (quickproject:make-project #P"prueba"))
ronald has quit [Ping timeout: 252 seconds]
attila_lendvai has quit [Remote host closed the connection]
attila_lendvai has joined #commonlisp
<BrokenCog> I suppose that would work, not nearly as clear as (quickproject:make-project #P"D:/Projects/oauth2") ... but the point being I don't want to need to specific 'd:/projects' every time.
<BrokenCog> *specifiy
ronald has joined #commonlisp
<josrr> surely you need to specify where you want your project
<BrokenCog> or have the default location be configurable.
<josrr> the default location is the working directory
<bike> i mean, you configure it by setting *default-pathname-defaults* to #P"D:/Projects/"
<BrokenCog> bike: i tried changing that. it didn't change the directory the new project was created.
<josrr> the code I sent creates the project in /tmp
gooba has quit [Remote host closed the connection]
<josrr> (setf *default-pathname-defaults* #P"/tmp/") and then (quickproject:make-project #P"prueba3/") does the same
gooba has joined #commonlisp
may__ has quit [Quit: Leaving]
mariari has quit [Ping timeout: 276 seconds]
pfdietz has joined #commonlisp
yewscion has quit [Ping timeout: 264 seconds]
tyson2 has quit [Read error: Connection reset by peer]
mariari has joined #commonlisp
tyson2 has joined #commonlisp
mgl_ has quit [Ping timeout: 246 seconds]
tyson2 has quit [Remote host closed the connection]
tyson2 has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
rendar has quit [Ping timeout: 264 seconds]
attila_lendvai has quit [Remote host closed the connection]
azimut has quit [Remote host closed the connection]
azimut has joined #commonlisp
attila_lendvai has joined #commonlisp
yitzi has quit [Remote host closed the connection]
tyson2 has joined #commonlisp
triffid has quit [Ping timeout: 240 seconds]
jonatack has joined #commonlisp
_cymew_ has quit [Ping timeout: 252 seconds]
ronald has quit [Read error: Connection reset by peer]
triffid has joined #commonlisp
ronald has joined #commonlisp
triffid has quit [Remote host closed the connection]
triffid has joined #commonlisp
mgl_ has joined #commonlisp
cage has quit [Quit: rcirc on GNU Emacs 29.1]
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
rgherdt_ has quit [Quit: Leaving]
<josrr> (setf *default-pathname-defaults* #P"/tmp/") and then (quickproject:make-project #P"prueba3/") does the same
<josrr> sorry, wrong window
triffid has quit [Ping timeout: 240 seconds]
tyson2 has quit [Remote host closed the connection]
tyson2 has joined #commonlisp
triffid has joined #commonlisp
prokhor has joined #commonlisp
mgl_ has quit [Ping timeout: 264 seconds]
igemnace has quit [Read error: Connection reset by peer]
tyson2 has quit [Remote host closed the connection]
jmdaemon has joined #commonlisp
traidare has quit [Ping timeout: 256 seconds]
igemnace has joined #commonlisp
amb007 has quit [Remote host closed the connection]
amb007 has joined #commonlisp
tyson2 has joined #commonlisp
triffid has quit [Quit: triffid]
triffid has joined #commonlisp
Lycurgus has joined #commonlisp
Lycurgus has quit [Changing host]
Lycurgus has joined #commonlisp
rendar has joined #commonlisp
dino_tutter has quit [Ping timeout: 260 seconds]
triffid has quit [Remote host closed the connection]
attila_lendvai has quit [Ping timeout: 256 seconds]