Xach 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>
[deleted] has quit [Read error: Connection reset by peer]
waleee has quit [Ping timeout: 240 seconds]
Bike has quit [Quit: Connection closed]
Qwnavery has joined #commonlisp
lisp123 has joined #commonlisp
livoreno has joined #commonlisp
Alfr is now known as Guest2662
Alfr has joined #commonlisp
Alfr has quit [Read error: Connection reset by peer]
random-nick has quit [Ping timeout: 250 seconds]
Guest2662 has quit [Ping timeout: 250 seconds]
Alfr has joined #commonlisp
Bike has joined #commonlisp
Spawns_Carpetin- has joined #commonlisp
Alfr has quit [Read error: Connection reset by peer]
Spawns_Carpeting has quit [Ping timeout: 268 seconds]
Alfr has joined #commonlisp
<akater[m]> lotuseater: 1. Why does it work? 2. Obviously, I want to return the class.
<lotuseater> I'm just used to using normal PROGN when writing a macro that spits out multiple forms
<lotuseater> ah yr
<lotuseater> ah yes okay i see
<Bike> the style warning appears to be emitted when a defmethod form is compiled and some of the specializers are not known to be classes
<Bike> if you compile (progn (defclass ...) (defmethod ...)), the defclass is at top level, so the compiler processes it and notes that there will be a class by that name, so when compiling the defmethod it doesn't emit the style warning
<Bike> with prog1 the forms aren't at top level, so that doesn't happen, so the style warning is emitted
<Bike> make sense?
<Bike> cheap solution: expand to (progn (defclass whatever ...) (defmethod ...) ... (find-class 'whatever))
<lotuseater> i would say the intention to use PROG1 (in functions) is for specifying in advance which value should be given back, not forms
<Bike> Huh?
<lotuseater> huh.
Alfr has quit [Read error: Connection reset by peer]
Alfr has joined #commonlisp
Qwnavery has quit [Quit: WeeChat 3.2]
<akater[m]> Bike: Thank you. Is there a reason `prog1` does not have the same “toplevel” properties as `progn`?
taiju has quit [Ping timeout: 252 seconds]
<semz> probably because there is no reason to use prog1 over progn at the toplevel
<semz> the returned value is discarded anyway
<lotuseater> PROG1 opens up a lexical scope with LET
<Bike> akater[m]: I don't know, although at top level prog1 and prog1 are equivalent anyway, since to be toplevel the value of the form has to be discarded.
<Bike> prog1 usually expanding to let would be the practical reason
<akater[m]> Oh, prog1 is a macro. I thought it was a special operator. No questions then.
<lotuseater> beside PROGN also PROGV is one of the special operators
Alfr has quit [Remote host closed the connection]
Alfr has joined #commonlisp
Alfr has quit [Read error: Connection reset by peer]
Alfr has joined #commonlisp
<edgar-rft> there is something mentioned in the CLHS that only PROGN preserves top-level-ity but stupidly I don't know where exactly
<Bike> clhs 3.2.3.1
<specbot> Processing of Top Level Forms: http://www.lispworks.com/reference/HyperSpec/Body/03_bca.htm
tyson2 has quit [Remote host closed the connection]
<edgar-rft> Bike: thanx, how much do you want when I hire you as my clhs bot? :-)
<Bike> now i'm wondering if you could get an expert system to answer questions about technical standards
<Bike> multiple-value-prog1 is a special operator but doesn't preserve toplevelness. I suppose the reasons are probably just that (a) compilers would have to treat it slightly differently to process it as top level and (b) toplevel m-v-prog1 or prog1 are pretty unusual anyway
paulman has joined #commonlisp
Spawns_Carpeting has joined #commonlisp
Spawns_Carpetin- has quit [Ping timeout: 250 seconds]
Alfr has quit [Remote host closed the connection]
Alfr has joined #commonlisp
paulman has quit [Remote host closed the connection]
paulman has joined #commonlisp
taiju has joined #commonlisp
<akater[m]> I'd expect “a macro defining a class, maybe with some standard methods for it” to be quite common.
<Bike> maybe, but you don't usually care about the return value
<Bike> i don't know about you but i'm not sure i've ever used the return value of defclass, except maybe in the repl occasionally
<Bike> and if you do want it to return the class you can just use find-class, so it's not too much of an issue
<akater[m]> Yes, I went with `find-class`.
<akater[m]> 1. In Elisp, `(add-to-list 'some-hook (defun f ..))` is not uncommon; any def- is similar 2. `defclass` returns the class; it's better to be consistent.
<Bike> i don't disagree with doing it. i just mean it doesn't come up much, for me at least
Alfr has quit [Read error: Connection reset by peer]
Alfr has joined #commonlisp
<semz> I'd have to check when the stuff about toplevel forms was added, but it might be that defclass came afterwards. Afaik it's the only case where a def- form returns the actual object rather than its just-established name.
Alfr has quit [Read error: Connection reset by peer]
White_Flame has quit [Remote host closed the connection]
Alfr has joined #commonlisp
White_Flame has joined #commonlisp
<mfiano> Have you never used generic functions?
<mfiano> or their methods?
<semz> generic functions and methods came together with defclass
<mfiano> Well I _know_ you've used packages.
<semz> never at the repl :-) but you got me
<semz> it's a mystery then
Alfr has quit [Read error: Connection reset by peer]
Alfr has joined #commonlisp
amb007 has quit [Ping timeout: 240 seconds]
amb007 has joined #commonlisp
xlei has quit [Quit: ZNC - https://znc.in]
Alfr has quit [Read error: Connection reset by peer]
Alfr has joined #commonlisp
xlei has joined #commonlisp
akoana has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
livoreno has quit [Ping timeout: 250 seconds]
amb007 has quit [Ping timeout: 250 seconds]
prxq_ has joined #commonlisp
prxq has quit [Ping timeout: 248 seconds]
wilfred has joined #commonlisp
<susam> Has anyone else seen this difference in the behaviour of M-q while re-indenting a long docstring: https://plaster.tymoon.eu/view/2604 ?
<susam> Is that difference in re-indenting docstring expected behaviour?
Qwnavery has joined #commonlisp
livoreno has joined #commonlisp
<akater[m]> susam: You probably better ask in Emacs rooms. Also, this paste website tries to hcaptcha me. I think this is the first time I see a webpaste doing a captcha check. JFYI.
<beach> Good morning everyone!
<susam> beach: Good morning!
<susam> akater[m]: Thanks! Will ask in #emacs too. By the way, I was not aware the tymoon pastebin does a captcha check. I have seen plaster.tymoon.eu links posted here often and this is the first time I learnt that it has a captcha.
CrashTestDummy2 has quit [Read error: Connection reset by peer]
CrashTestDummy has joined #commonlisp
livoreno has quit [Read error: Connection reset by peer]
CrashTestDummy has quit [Read error: Connection reset by peer]
livoreno has joined #commonlisp
CrashTestDummy has joined #commonlisp
CrashTestDummy has quit [Read error: Connection reset by peer]
CrashTestDummy has joined #commonlisp
Qwnavery has quit [Ping timeout: 248 seconds]
semz has quit [Ping timeout: 250 seconds]
CrashTestDummy2 has joined #commonlisp
semz has joined #commonlisp
CrashTestDummy has quit [Ping timeout: 240 seconds]
kulernil has joined #commonlisp
paulman has quit [Remote host closed the connection]
CrashTestDummy3 has joined #commonlisp
CrashTestDummy has joined #commonlisp
CrashTestDummy2 has quit [Ping timeout: 250 seconds]
CrashTestDummy3 has quit [Ping timeout: 250 seconds]
perrierjouet has quit [Quit: WeeChat 3.2]
amb007 has joined #commonlisp
paulman has joined #commonlisp
kulernil has quit [Remote host closed the connection]
CrashTestDummy2 has joined #commonlisp
amb007 has quit [Ping timeout: 252 seconds]
CrashTestDummy has quit [Ping timeout: 252 seconds]
amb007 has joined #commonlisp
etiago has quit [Ping timeout: 250 seconds]
etiago has joined #commonlisp
amb007 has quit [Ping timeout: 250 seconds]
amb007 has joined #commonlisp
wilfred has quit [Quit: Connection closed for inactivity]
amb007 has quit [Ping timeout: 252 seconds]
amb007 has joined #commonlisp
Jach has quit [Remote host closed the connection]
Jach has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
CrashTestDummy3 has joined #commonlisp
amb007 has joined #commonlisp
CrashTestDummy2 has quit [Ping timeout: 250 seconds]
<loke[m]> <susam> "Is that difference in re-..." <- The first case doesn't have a docstring though.
akoana has quit [Quit: leaving]
taiju has quit [Ping timeout: 252 seconds]
taiju has joined #commonlisp
retropikzel has joined #commonlisp
aeth has quit [Read error: Connection reset by peer]
aeth has joined #commonlisp
abrantesasf has joined #commonlisp
Bike has quit [Quit: Connection closed]
abrantesasf has quit [Quit: Leaving]
abrantesasf has joined #commonlisp
azimut_ has quit [Quit: ZNC - https://znc.in]
amb007 has quit [Ping timeout: 250 seconds]
azimut has joined #commonlisp
abrantesasf has quit [Quit: Leaving]
abrantesasf has joined #commonlisp
abrantesasf has quit [Client Quit]
abrantesasf has joined #commonlisp
abrantesasf has quit [Client Quit]
abrantesasf has joined #commonlisp
Nilby has joined #commonlisp
amb007 has joined #commonlisp
<lisp123> Good morning Beach. Which timezone are you in?
<beach> UTC+2 currently.
<lisp123> Nice
shka has joined #commonlisp
<beach> No Bordeaux. :)
<lisp123> It means, you wake up early (once I did enough of the maths) :)
<beach> It's a genetic defect in my family. We can't help it. My parents were so bored at 4am that they got second jobs distributing newspapers.
<lisp123> Wow, that is early. Must be cold in the mornings!
<beach> Not really.
<lisp123> I used to try and wake up by 6, should try to get into that habit again.
abrantesasf has quit [Quit: Leaving]
hafat has joined #commonlisp
hafat has quit [Remote host closed the connection]
hafat has joined #commonlisp
amb007 has quit [Ping timeout: 252 seconds]
amb007 has joined #commonlisp
rain3 has joined #commonlisp
amb007 has quit [Ping timeout: 240 seconds]
<pjb> the most I can wake at 6 is to press the snooze button on the alarm, but most of the time, I can't even be bothered to do that. I've got half a dozen alarms until it's to late to wak up anyways.
<hayley> Sometimes I wake up, then regret it.
rgherdt has joined #commonlisp
hendursa1 has joined #commonlisp
hendursaga has quit [Ping timeout: 244 seconds]
nij- has joined #commonlisp
Qwnavery has joined #commonlisp
frgo has quit [Remote host closed the connection]
frgo has joined #commonlisp
retropikzel has quit [Ping timeout: 258 seconds]
nij- has quit [Read error: Connection reset by peer]
cosimone has joined #commonlisp
frgo has quit [Remote host closed the connection]
frgo has joined #commonlisp
frgo has quit [Remote host closed the connection]
frgo has joined #commonlisp
frgo has quit [Client Quit]
amb007 has joined #commonlisp
nij- has joined #commonlisp
pve has joined #commonlisp
retropikzel has joined #commonlisp
nij- has quit [Read error: Connection reset by peer]
cosimone has quit [Ping timeout: 250 seconds]
cage has joined #commonlisp
hafat has quit [Quit: Leaving]
gaqwas has joined #commonlisp
cosimone has joined #commonlisp
hafat has joined #commonlisp
hafat has quit [Remote host closed the connection]
makomo has joined #commonlisp
Qwnavery has quit [Quit: WeeChat 3.2]
retropikzel has quit [Read error: Connection reset by peer]
retropikzel has joined #commonlisp
VincentVega has joined #commonlisp
mingus has quit [Ping timeout: 268 seconds]
kakuhen has quit [Quit: Leaving...]
mingus has joined #commonlisp
tyson2 has joined #commonlisp
khrbt has quit [Ping timeout: 252 seconds]
khrbt has joined #commonlisp
perrierjouet has joined #commonlisp
random-nick has joined #commonlisp
<lisp123> pjb: lol
nij- has joined #commonlisp
cosimone has quit [Ping timeout: 250 seconds]
Nilby has quit [Remote host closed the connection]
nij- has quit [Read error: Connection reset by peer]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
kulernil has joined #commonlisp
paulman has quit [Ping timeout: 244 seconds]
skn has joined #commonlisp
nij- has joined #commonlisp
nij- has left #commonlisp [#commonlisp]
nij- has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
nij- has quit [Read error: Connection reset by peer]
amb007 has quit [Ping timeout: 252 seconds]
amb007 has joined #commonlisp
selwyn has joined #commonlisp
lisp123 has quit [Quit: Leaving...]
kulernil has quit [Ping timeout: 244 seconds]
retropikzel has quit [Quit: Leaving]
scymtym has joined #commonlisp
tyson2 has quit [Quit: ERC (IRC client for Emacs 27.2)]
selwyn has quit [Read error: Connection reset by peer]
waleee has joined #commonlisp
Lycurgus has joined #commonlisp
Inline has quit [Quit: Leaving]
Inline has joined #commonlisp
nij- has joined #commonlisp
cosimone has joined #commonlisp
Alfr is now known as Guest9643
nij- has quit [Read error: Connection reset by peer]
Alfr has joined #commonlisp
Guest9643 has quit [Ping timeout: 252 seconds]
taiju has quit [Ping timeout: 258 seconds]
Lycurgus has quit [Quit: Exeunt]
taiju has joined #commonlisp
cosimone has quit [Ping timeout: 250 seconds]
Guest33 has joined #commonlisp
taiju has quit [Ping timeout: 240 seconds]
taiju has joined #commonlisp
lisp123 has joined #commonlisp
selwyn has joined #commonlisp
Posterdati has quit [Ping timeout: 240 seconds]
Guest33 has quit [Quit: Client closed]
dilated_dinosaur has quit [Quit: Leaving]
Posterdati has joined #commonlisp
Bike has joined #commonlisp
cosimone has joined #commonlisp
tyson2 has joined #commonlisp
livoreno has quit [Ping timeout: 240 seconds]
lisp123_ has joined #commonlisp
ln43 has joined #commonlisp
lisp123 has quit [Ping timeout: 248 seconds]
Bike has quit [Quit: Connection closed]
livoreno has joined #commonlisp
Guest29 has joined #commonlisp
Bike has joined #commonlisp
tyson2 has quit [Ping timeout: 252 seconds]
Lycurgus has joined #commonlisp
<borodust> hmm, is it possible to pin simple arrays in lispworks? i know i can do that for statically allocated arrays (that's clear from docs), but i've got error saying arrays must be "Statically allocated or pinned"
<borodust> which got me curious
<borodust> if there's a way to pin usual simple array instead of a statically allocated one
yitzi has joined #commonlisp
pranavats has quit [Remote host closed the connection]
contrapunctus has quit [Read error: Connection reset by peer]
yitzi_ has joined #commonlisp
yitzi has quit [Ping timeout: 248 seconds]
yitzi has joined #commonlisp
yitzi_ has quit [Ping timeout: 252 seconds]
selwyn has quit [Read error: Connection reset by peer]
lisp123 has joined #commonlisp
lisp123_ has quit [Ping timeout: 252 seconds]
selwyn has joined #commonlisp
ln43 has quit [Quit: Connection closed]
kuler has joined #commonlisp
tyson2 has joined #commonlisp
<jcowan> pjb: I make sure that the alarm is out of reach of the bed.
doyougnu has joined #commonlisp
Lycurgus has quit [Quit: Exeunt]
dilated_dinosaur has joined #commonlisp
VincentVega has quit [Ping timeout: 250 seconds]
tyson2 has quit [Quit: ERC (IRC client for Emacs 27.2)]
<rain3> is it normal that compute-effective-slot-definition :around is called when a method specialized on a superclass of the obj is invoked with the obj as the parameter ?
<Guest29> Next time I'm feeling like lisp has been forgotten, I'll have to remind myself of REXX. Searcing for some materials just now, most of the web sites are obsolete, and is not available in (relatively current) standard fedora repos.
<Guest29> (I had a notion that it would be fun to write a lisp macro for rexx style 'PARSE ARG' constructs)
Oladon has joined #commonlisp
<Bike> rain3: not sure i follow what you're asking, but any around method applicable to the arguments is going to be run before any primary methods
Bike has quit [Quit: Connection closed]
lisp123_ has joined #commonlisp
lisp123 has quit [Ping timeout: 240 seconds]
<rain3> I am doing some work with some meta classes but I don't understand why a normal method like m1 in that snippet, would make it call compute-slots which calls compute-effective-slot-definition :around
<rain3> why does it want to call UPDATE-CLASS
kuler has quit [Ping timeout: 244 seconds]
livoreno has quit [Read error: Connection reset by peer]
Bike has joined #commonlisp
lisp123_ has quit [Quit: Leaving...]
cosimone has quit [Ping timeout: 252 seconds]
<rain3> Bike: https://termbin.com/ I don't understand why a normal method like m1 in snippet, would make it call update-class which calls compute-slots which calls compute-effective-slot-definition :around
abrantesasf has joined #commonlisp
<pjb> rain3: I don't know much about CLOS, but when you use metaclasses, don't you have to implement a method to make it possible/compatible with the superclass metaclass?
<rain3> good question. I don't know. I only implemented compute-effective-slot-definition :around for the subclass' metaclass
<lotuseater> something like (defclass metaclass1 (standard-class) ...) and (defmethod closer-mop:validate-superclass ((class metaclass1) (superclass standard-class)) t)
<rain3> I have this one yes
<lotuseater> good :)
<rain3> it usually signals an error if it is not there
<lotuseater> right
<lotuseater> hm do you do anywhere a CHANGE-CLASS ?
<rain3> no, that's the thing.. I only call a dumb m1 specialied on the superclass and it attempts to UPDATE-CLASS
<rain3> no idea why
<lotuseater> how do metaclass1 and metaclass2 look like?
<Bike> wait, you mean _calling_ m1 results in this update-class? not _defining_ m1?
<mfiano> What is the recommended lambda list parsing library?
<rain3> calling it, ye
<rain3> yes
<rain3> metaclass2 is mm-metaclass from here https://github.com/danlentz/manardb/blob/master/src/mop.lisp
<mfiano> rain3: are you danlentz on GitHub?
<rain3> I am not
<Bike> and you're actually doing (m1 *obj1*)? Not (m1 (make-instance ...))?
<mfiano> Oh ok. I have been trying to contact them
<pjb> mfiano: I use my own com.informatimago.common-lisp.lisp-sexp.source-form:parse-lambda-list ; but recently sicl got its very own implemented.
<mfiano> pjb: Is that a module, and by what name if so?
<rain3> I think I've come across this bug few years ago too . Now I am trying to make manardb more friendly , to allow inheritance of non-persistent slots from other classes , so that one can have both persistent and non-persistent
<Bike> because calling make-instance can make all kinds of exciting things happen
<rain3> as it is right now it doesn't easily mix with mixins . It kinda works, I've achieved what I wanted, except for this error
<Bike> make-instance calls could definitely result in classes being "updated"
Alfr has quit [Killed (sodium.libera.chat (Nickname regained by services))]
Alfr has joined #commonlisp
<rain3> *both persistent and non-persistent classes and slots mixed as we need
<pjb> mfiano: clone http://github.com/informatimago/lisp in your favorite quicklisp or asdf place and then load the system com.informatimago.common-lisp.lisp-sexp or com.informatimago.common-lisp or even com.informatimago
<mfiano> pjb: I was asking about the name of the SICL module
<pjb> I didn't fetch yet, so I don't know. Ask beach or in #sicl.
<rain3> Bike: it's the method that does the nasty thing. not make-instance , make-instance is called beforehand and it works fine
lisp123 has joined #commonlisp
<Bike> That's kind of surprising. It looks like the class is being initialized
<Bike> @mfiano: there's one in CST. I don't know if SICL is using that or its own right now https://github.com/s-expressionists/Concrete-Syntax-Tree
<mfiano> Thanks
<rain3> Bike: metaclass1 is something like an abstract class which doesn't do much initialization
<rain3> and perhaps when it calls the method on that object it attempts to also initialize the instances of metaclass1
<rain3> (just a random guess)
<mfiano> From the commits it is looking like the new lambda list parser is embedded into SICL as of current
hendursa1 has quit [Quit: hendursa1]
hendursaga has joined #commonlisp
<Bike> @rain3: this might be something specific to manardb's clos stuff. what the backtrace looks like it's doing is it's trying to figure out if the m1 method on number, which doesn't seem to be in your paste, is applicable. and that's going screwy somehow.
<rain3> m1 is applicable to c1 . *obj* is an instance of c2 (a subclass of c1), so m1 is applicable to *obj*
<Bike> no i mean somewhere else you have (defmethod m1 ((o number)) ...)
<rain3> you are right, yes I have such a method
<Bike> and it's trying to figure out if c1 is a subclass of number.
<rain3> I don't think it is
<rain3> it most probably (almost sure), isn't
<Bike> isn't a subclass of number? i'm sure it isn't.
<rain3> yeah
<rain3> that number method is just for me to mock objects using simple numbers, we can ignore it
<Bike> okay, wait, i think i get it, calling m1 means sbcl needs to finalize c1 in order to get c1's class precedence list in order to do dispatch
<Bike> does m2 have any other methods on it?
Alfr has quit [Read error: Connection reset by peer]
<rain3> no, it doesn't
<Bike> Okay, so then sbcl might be doing something simpler to dispatch it that doesn't need to know class precedence lists
<Bike> although i guess since you're making an instance it should really be finalized... mmm....
yitzi has quit [Quit: Leaving]
Alfr has joined #commonlisp
<rain3> hmm maybe it isn't finalized, maybe I should test that
<Bike> I guess this is just proximate cause anyway. The direct cause is that compute-effective-slot-definition is signaling an error.
<rain3> well, it's messing the object up
<Bike> What do you mean by that?
<rain3> because that compute-effective-slot-definition is defined for metaclass2 not for metaclass1
<rain3> and when it is invoked as if for metaclass1 , it will now know about some slots reader and writer functions
<rain3> and the result is that the readers and writers for the slots in the object will be messed up
<rain3> unbound
<Bike> is metaclass2 not a subclass of metaclass1?
cage has quit [Quit: rcirc on GNU Emacs 27.1]
<rain3> it is not, because metaclass2 is persistent to the disk and metaclass1 isn't
<rain3> but metaclass1 means that if you inherit from it and you're of type instance-of-metaclass2, then all those slots that you inherited will be persistent .
<rain3> (only those slots inherited from instances of instances of metaclass1)
<Bike> and metaclass1 isn't a subclass of metaclass2?
<rain3> it is not
<Bike> wait, but c2 _is_ a metaclass2. so the metaclass2 method being invoked on it is normal.
<Bike> right?
<rain3> what's the metaclass2 method
<rain3> you mean the method specialized on c2? m2?
<Bike> I mean the method on compute-effective-slot-definition with :around qualifier specialized on metaclass2.
<Bike> which is apparently being invoked here.
<rain3> (finalize-inheritance (find-class 'c2)) is called after (defclass c2 ...) , I forgot to mention
<rain3> so that compute-effective-slots is already called once , and it does the initalization properly
<rain3> but then that m1 breaks things up
<rain3> and afterwards, if I do (defclass c2) and (finalize-inheritance (find-class 'c2)) manually again, the class is fixed and works fine once again
<rain3> and then m1 will also work without breaking things again
<Bike> Did you reevaluate any defclass forms between the (make-instance 'c2) and the (m1 ...) call?
<rain3> no
<Bike> You could have made the c2 class obsolete, which would result in the instance of it needing to be updated when m1 is called on it.
<rain3> how to check if a class is obsolete? it is all alive and kicking . until I call m1 which messes it up
<rain3> I can put online tomorrow or the coming days the 'updated' manardb , it hacky experimental code (the original wasn't very clean either) , and maybe we can fix this together and/or improve it etc
<Bike> I don't think there is any way to determine if a class's instances have become obsolete. You could put a method on make-instances-obsolete to trip a flag i guess.
<Bike> c2 being reinitialized is the only way i can make sense of this.
<Bike> And I still don't quite understand how calling compute-effective-slots twice could be an issue
cosimone has joined #commonlisp
Lord_of_Life_ has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 250 seconds]
Lord_of_Life_ is now known as Lord_of_Life
<rain3> Bike: when it calls compute-effective-slots the 2nd time, the class parameter is c1 (which has metaclass1) not c2 (which has metaclass2) .
<rain3> so the behaviour will be different
<Bike> Oh. That's not what it looks like in the backtrace?
<Bike> it just shows it being called on *obj1*
<rain3> I may have messed that part of the backtrace up when pasting the snippet
<rain3> now the problem is I can't reproduce this issue and I have been struggling with it for 8 hours
<Bike> sounds like time for a break
<rain3> thank you for the insights
rain3 has quit [Ping timeout: 250 seconds]
<moon-child> maxima reduces 0 * (1/x) to 0. Why is this justified, when it hasn't proven x is nonzero?
<lotuseater> 0 * infinity => 0
<moon-child> what is this 'infinity' you speak of, and why are we allowed to multiply by it?
<moon-child> 1/0 is an error, as is 0 * (1/0)
<lotuseater> it's the symbolic value when you let x converge to 0 in the expression 1/x
<lotuseater> so think better in limits
<lisp123> moon-child: I agree with
<minion> lisp123, memo from pjb: you can use (time …) to get a report on the time needed to compute …
<lisp123> you
<lisp123> pjb: thanks!
<lisp123> minion: cheers mate
<minion> you speak nonsense
<lisp123> :O
<moon-child> lotuseater: I don't understand why using limits lets us treat 0 * (1/x) and 0 * (1/0) differently, in the case where x=0. Indeed, maxima also gives an error in response to x:0; 0 * (1/x)
<semz> I suspect that maxima is going with some kind of maximal domain for x because the expression makes no sense for x=0
<lotuseater> so what do you get when you eval sin(x)/x at x=0 ?
akoana has joined #commonlisp
<lisp123> -0.0e+NaN
<lotuseater> no.
<lotuseater> when evaluating derivatives with you also do limits with (f(x+h)-f(x))/h for h->0 rather than directly putting the value into that
<lotuseater> lisp123: of course, setting directly 0 makes it indeterminate in terms of stupid calculating. its value will be 1
<lisp123> I guess its splitting hairs, I think we are both saying that if its a limit, it needs to be explicitly declared
<lisp123> 1/0 is not defined
<lotuseater> right, so read again what i read
<lotuseater> *wrote
<lisp123> Whereas you may be speaking from a practicality perspective
<lotuseater> no, it's really the mathematical perspective, surely also practical
<lisp123> 0 * 1/0 is undefined
<lotuseater> and nonstandard analysis deals with such expressions in more depth
<moon-child> lotuseater: right; I don't take issue with evaluating an expression using a limit, but I don't understand the inconsistency. Why can we not similarly reduce 0 * (1/0) to 0, by treating it as lim_(x->0) 0 * (1/x)?
<lotuseater> it's a question of the analytic continuation if there is a real pole point or not
<lisp123> Its very important to note that the reciprocal is not defined for x = 0. 'Every element x =/= 0 in R has a unique reciprocal'. As it relates to the connection between addition & multiplication
<lisp123> Everything of that sort is talking in limits or some other disclaimer
<lotuseater> lisp123: so do you now see why sin(x)/x is 1 for x=0 ?
<lisp123> It undefined
<lotuseater> no
<lisp123> I think we will have to just agree to disagree on this one :)
<lotuseater> yes you should work on with that example to see why it's 1
<lotuseater> it's not a question of just "believing" at all
<Bike> this question seems pretty specific to maxima. does it have an irc channel or something? i couldn't find one.
<lotuseater> I don't know and I unfortunately don't want to discuss it more now.
<lisp123> https://math.stackexchange.com/questions/2362920/continuity-of-sinx-x - feel free to change the accepted answer
<lisp123> And no more off topic now, sorry aobut that
<lotuseater> surely it's not directly defined
tyson2 has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
lisp123 has quit [Ping timeout: 252 seconds]
recordgroovy has joined #commonlisp
shka has quit [Ping timeout: 268 seconds]
kakuhen has joined #commonlisp
hprop has joined #commonlisp
CrashTestDummy2 has joined #commonlisp
CrashTestDummy3 has quit [Ping timeout: 240 seconds]
hprop has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
selwyn has quit [Read error: Connection reset by peer]
doyougnu has quit [Remote host closed the connection]
lisp123 has quit [Ping timeout: 252 seconds]
gaqwas has quit [Ping timeout: 268 seconds]
rgherdt has quit [Ping timeout: 240 seconds]
IPmonger has joined #commonlisp
IPmonger has quit [Remote host closed the connection]
hendursaga has quit [Ping timeout: 244 seconds]
lotuseater has left #commonlisp [ERC (IRC client for Emacs 27.2)]
hendursaga has joined #commonlisp
Alfr has quit [Remote host closed the connection]
cjb has joined #commonlisp
Alfr has joined #commonlisp
lotuseater has joined #commonlisp
Oladon has quit [Quit: Leaving.]
pve has quit [Quit: leaving]
<edgar-rft> lotuseater: I forsee a great future for you in discussing math problems with pjb that nobody has but you both. But at the same time I have to admit that you have a better math knowledge than me :-)
makomo has quit [Ping timeout: 240 seconds]
<lotuseater> I have no problem.
<lotuseater> edgar-rft: So we can combine our powers.
<edgar-rft> you have no problems? wait, I'll create some for you...
<lotuseater> not such problems. of course for that more than enough others
<lotuseater> and a zoo of interesting conjectures
waleee has quit [Ping timeout: 250 seconds]
waleee has joined #commonlisp
Oladon has joined #commonlisp
Mandus has quit [Ping timeout: 268 seconds]
Mandus has joined #commonlisp
Alfr has quit [Remote host closed the connection]
Alfr has joined #commonlisp
random-nick has quit [Ping timeout: 250 seconds]